计算JQuery中Select Dom元素中的options标签数量

时间:2009-07-20 10:11:02

标签: javascript jquery

如何使用jQuery计算选择DOM元素中的选项数量?

   <select data-attr="dropdown" id="input1">
      <option value="Male" id="Male">Male</option>
      <option value="Female" id="Female">Female</option>
   </select>

我想在select DOM元素中找到选项标签的数量,因为我想要打开带有该输入字段数量的“设置”面板,并在其中的下拉框中输入相应的选项值在预览面板中再次更改它。

上面的下拉框位于我的预览面板中,由jQuery生成。

9 个答案:

答案 0 :(得分:243)

$('#input1 option').size(); 

这将产生2。

这是工作Fiddle

答案 1 :(得分:50)

W3C解决方案:

var len = document.getElementById("input1").length;

答案 2 :(得分:22)

您可以使用 length 属性,而length的效果会更好size

$('#input1 option').length;

或者您可以使用 size 等功能

$('#input1 option').size(); 

<强> Demo

答案 3 :(得分:18)

您的问题有点令人困惑,但假设您想在面板中显示选项数量:

<div id="preview"></div>

$(function() {
  $("#preview").text($("#input1 option").length + " items");
});

我不确定我理解你的其他问题。

答案 4 :(得分:13)

在多选选项框中,您可以使用$('#input1 :selected').length;获取所选选项的数量。如果不满足某些最小数量的选项,这对于禁用按钮非常有用。

function refreshButtons () {
    if ($('#input :selected').length == 0)
    {
        $('#submit').attr ('disabled', 'disabled');
    }
    else
    {
        $('#submit').removeAttr ('disabled');
    }
}

答案 5 :(得分:6)

好的,我有一些问题,因为我在里面

$('.my-dropdown').live('click', function(){  
});

我的页面中有多个,这就是我使用课程的原因。

当我点击它时,我的下拉按照ajax请求自动填充,所以我只有元素$(this)

所以...

我必须这样做:

$('.my-dropdown').live('click', function(){
  total_tems = $(this).find('option').length;
});

答案 6 :(得分:5)

最好的形式是这个

$('#example option').length

答案 7 :(得分:0)

另一种有用的方法。

$('#select-id').find('option:selected').length

答案 8 :(得分:0)

这与所问的问题完全相同,给出了所有可用选项的计数。如果您已经在变量中拥有节点,它很有用