我的DOM中有超过53个类似的select
部分,我需要计算用户选择了多少个特定选项。
我的DOM的一个例子是这样的:
<select name="attendance" class="dd" id="20130101">
<option>p</option>
<option>a</option>
<option>s</option>
</select>
<select name="attendance" class="dd" id="20130102">
<option>p</option>
<option>a</option>
<option>s</option>
</select>
... x 51 more times!
我想要做的是返回用户选择“a”的选项的数量(计数)。我已经尝试了$('.dd option:selected').length
但是它返回了所有选择部分的总数(为53)。
感谢您的帮助!
答案 0 :(得分:5)
$(".dd option:selected[value=a]").length;
答案 1 :(得分:0)
您可以组合选择器,在本例中为:contains
:
$(".dd option:contains(a):selected").length;
但是,这取决于其他选项完全不包含任何选项,例如:
<option>a</option>
<option>aa</option>
您也可以设置选项的value
,甚至可以使用jQuery:
$("option").val(function () {
return $(this).text();
});
答案 2 :(得分:0)
我会在您的选项中添加一个value-attribute
<select name="attendance" class="dd" id="20130101">
<option value="p">p</option>
<option value="a">a</option>
<option value="s">s</option>
</select>
通过这个,通过使用属性选择器,选择器相当容易:
$('select option[value="a"]:selected').length;
我创建了一个小小的小提琴,在实际使用中向您展示:http://jsfiddle.net/mx5Yd/1/
单击“计数”时,带有“a”值的所选选项的数量会记录到控制台