JQuery - по крайней мере один проверенный флажок

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

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

6
задан Laramie 31 May 2010 в 06:27
поделиться

2 ответа

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

Добавьте эту функцию 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" />

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

3
ответ дан 8 December 2019 в 03:52
поделиться

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

 $(".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
24
ответ дан 8 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: