JQuery - установлен хотя бы один флажок - PullRequest
6 голосов
/ 31 мая 2010

Я нахожусь в процессе изучения JQuery, в основном благодаря положительной ссылке на переполнение стека. Мне нужна функция, которая проверяет все флажки в элементе, которые имеют тот же класс CSS. Он должен вернуть true, если хотя бы один из них отмечен. В элементе есть также другие поля, которые не имеют отношения к проверке.

Класс CSS не нужен и используется только для того, чтобы создать способ идентифицировать флажки в группе. Это похоже на плохую практику, поэтому любые рекомендации о других способах их идентификации приветствуются.

Ответы [ 2 ]

24 голосов
/ 31 мая 2010

Чтобы проверить, если хотя бы один отмечен:

 $(".classname:checked", container).length > 0

«Контейнер» - это (необязательный) элемент контейнера.

Если вы хотите избежать использования имен классов для группировки, просто присвойте каждому флажку одно и то же имя:

<input type="checkbox" name="group1" value="1" />
<input type="checkbox" name="group1" value="2" />
<input type="checkbox" name="group1" value="3" />

Затем вы можете изменить код теста на:

 $("[name=group1]:checked").length > 0
3 голосов
/ 09 июня 2010

Список переключателей не был выбран из-за разметки страницы. Я решил это с помощью специального валидатора.

Добавить эту функцию JavaScript на страницу

function ValidateDDA(s, a) {
    a.IsValid = ($(".chk:checked", $('parentDiv')).length > 0);
}

Затем добавьте CustomValidator на страницу

<asp:CustomValidator runat="server" ID="cvDDLCorrect" ClientValidationFunction="ValidateDDA"
ErrorMessage="No hay resuesta correcta" CssClass="error" />

Работает как шарм. Спасибо за предложения.

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