如何使用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生成。
答案 0 :(得分:243)
答案 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)
这与所问的问题完全相同,给出了所有可用选项的计数。如果您已经在变量中拥有节点,它很有用