jquery count выбрать входы, соответствующие требуемому значению - PullRequest
3 голосов
/ 31 января 2011

У меня есть (сгенерированная 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 ]

7 голосов
/ 31 января 2011
$('select[id$=_status] option:selected[value="1"]').length;

см. Пример здесь

2 голосов
/ 31 января 2011

Вы можете использовать ends with selector:

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

Это будет проходить через все поля выбора, заканчивающиеся на _status в их идентификаторах, а затем find используется для поискаoption в них, значение которых установлено на 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...