jquery count选择匹配所需值的输入

时间:2011-01-31 12:28:56

标签: jquery validation

我有一个(django生成的)表格,其中包含以下内容:

<form action="./" id="my_form" method="post">
...
<select name="object_0_status" id="id_object_0_status">
<option value="">---------</option>
<option value="1">Online</option>
<option value="2">Offline</option>
<option value="3">Unknown</option>
</select>
<select name="object_1_status" id="id_object_1_status">
<option value="">---------</option>
<option value="1">Online</option>
<option value="2">Offline</option>
<option value="3">Unknown</option>
</select>
<select name="object_2_status" id="id_object_2_status">
<option value="">---------</option>
<option value="1">Online</option>
<option value="2">Offline</option>
<option value="3">Unknown</option>
</select>
    ...
</form>

我正在编写一个自定义验证方法(使用JQuery Validations插件http://docs.jquery.com/Plugins/validation),它正在交叉检查表单上的不同条目。为此,我需要检索所选值设置为“1”的选择框的数量(例如,在线)。

选择框由表单工厂生成,因此它们的数量可变。表单上还有其他选择选项,不应计算在内 - 只是结尾为'_status'的选项。

最干净的方法是什么?

由于

2 个答案:

答案 0 :(得分:7)

$('select[id$=_status] option:selected[value="1"]').length;

参见示例here

答案 1 :(得分:2)

您可以使用ends with selector

alert($('select[id$=_status]').find('option[value=1]').length);

这会在所有选项框中以_status结尾,然后使用find查找option,其值设置为1