Javascript 如何使用jquery获取下拉列表中所有元素的计数
我有这样的下拉列表Javascript 如何使用jquery获取下拉列表中所有元素的计数,javascript,jquery,Javascript,Jquery,我有这样的下拉列表 <select id="ddlProjects"> <option value="315">resproject</option> <option value="320" style-"display:inline">newheavn</option> <option value="395" style="display:inline">cealon sales</option&
<select id="ddlProjects">
<option value="315">resproject</option>
<option value="320" style-"display:inline">newheavn</option>
<option value="395" style="display:inline">cealon sales</option>
<option value="395" style="display:inline">cealon sales</option>
</select>
再项目
纽黑文
赛隆销售
赛隆销售
现在,我要计算更改时“display:inline”的所有元素的数量,如何获得它。尝试在此上下文中使用.filter()
$('#ddlProjects').change(function(){
var count = $(this).children().filter(function(){
return $(this).css('display') === "inline"
}).length;
console.log(count);
})
在这种情况下,尝试使用属性包含选择器
,因为选项元素的默认显示属性是内联的
$('#ddlProjects').change(function(){
var count = $('option[style*="display:inline"]',this).length;
console.log(count);
});
默认情况下,
的显示
属性设置为内联
如果仍需要根据此属性进行筛选,请使用
$('#ddlProjects').change(function(){
var count = $('option',this).filter(function(){
var css =$(this).attr('style');
return css !=undefined && css.indexOf('display:inline')>-1;
}).length;
console.log(count);
});
在jquery中使用属性选择器获取dropdownlist中选项的长度
$('#ddlProjects').change(function(){
var len = $(this).find('option[style="display:inline"]').length
console.log(len)
});
这将不起作用,因为
选项的默认显示是内联。除非选项元素被隐藏,否则它将始终返回选项元素的总数。@RoryMcCrossan,你是对的,面临着同样的问题。旁注:行样式中的键入—“display:inline”
可能会帮助你尝试进一步充实你的答案。仅仅发布一个代码块而没有任何解释或上下文是不好的。在目前的状态下,你的答案可能对将来寻找这个问题答案的人没有任何用处。
$('#ddlProjects').change(function(){
var len = $(this).find('option[style="display:inline"]').length
console.log(len)
});