在 jQuery 中计算 select 标记中的选项标记的数量

如何使用 jQuery 计算 <select> DOM 元素中 <option>的数量?

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

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

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

257411 次浏览

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

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

还有

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

我不太明白你剩下的问题。

W3C 解决方案:

var len = document.getElementById("input1").length;
$('#input1 option').length;

这将产生 2

好吧,我有一些问题,因为我在一个

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

我的页面里有很多,所以我用了一个类。

我的下拉列表是由一个 ajax 请求自动填充当我点击它,所以我只有元素 $(这)

所以..。

我必须这么做:

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

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

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

您可以使用 Rel = “ noReferrer”> length < a href = “ http://api.jquery.com/length/”rel = “ noReferrer”> length 属性,而且 length的性能比 size好。

$('#input1 option').length;

或者可以使用类似于(在 jQuery v3中删除)的 Rel = “ noReferrer”> size 函数

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

$(document).ready(function(){
console.log($('#input1 option').size());
console.log($('#input1 option').length);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select data-attr="dropdown" id="input1">
<option value="Male" id="Male">Male</option>
<option value="Female" id="Female">Female</option>
</select>

最好的形式是这个

$('#example option').length

另一个有用的方法。

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

这就给出了所有 有空选项的计数,完全符合问题的要求。如果变量中已经有节点,那么这种方法非常有用