有条件地在选项标记中应用布尔属性
Applying boolean attributes in option tag conditionally
我正在使用jQuery从数组动态构建一个select
元素,我需要在这些option
元素中的一个上设置bool属性selected
。如果我试图通过选项
"selected": mycondition ? "selected" : undefined
无论如何,该属性都会出现在标记中。
如果需要,如何仅放置属性?
这就是我创建option
元素的方式:
options.forEach(function(option){
$("<option/>", {
text: option.name,
value: option.value
}).appendTo("#mySelectElem");
});
创建option
对象时,始终可以链接.prop()
options.forEach(function(option){
$("<option/>", {
text: option.name,
value: option.value
})
.prop('selected', mycondition) //<===
.appendTo("#mySelectElem");
});
options.forEach(function(option){
var opt = $("<option/>", { //<-- log option in var
text: option.name,
value: option.value
}).appendTo("#mySelectElem");
if (mycondition) opt.attr('selected', 1); //<-- conditionally add selected
});
好吧,我想我需要提高我的文档阅读技能。。。显然,我可以通过简单地链接prop()
方法来实现这一点:
options.forEach(function(option){
$("<option/>", {
value: option.value,
text: option.text
})
.prop("selected", function(){return mycondition ? "selected" : undefined;})
.appendTo("#mySelectElem");
});
步骤:1.在数组上循环2.如果数组包含值并且所选值为true,则追加测验3.如果附加其他选项,则为elsetest2
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 跟踪在页面加载时应用内联样式的JavaScript
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如果文本字段为空,则使用JavaScript应用CSS样式
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- angularjs+rails应用程序中未显示模板
- 从html创建一个指令,该指令按类名应用函数
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 有条件地在选项标记中应用布尔属性
- ng-repeat绑定集合,使用选项卡过滤布尔值,当我更新集合时,过滤器不会重新应用
- Angular JS对布尔值应用大写过滤器