Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery获取下拉列表中所有元素的计数_Javascript_Jquery - Fatal编程技术网

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)
   });