Я знаю, как узнать, установлен ли отдельный флажок.
Но у меня проблемы со следующим: учитывая идентификатор формы, мне нужно увидеть , выбран ли какой-либо из флажков (например, 1 или более), и мне нужно увидеть, не выбран ли ни один из них. В основном мне нужны две отдельные функции, которые отвечают на эти два вопроса. Помощь будет оценена. Спасибо!
На самом деле мне просто нужна функция, которая сообщала бы мне, если ни один из них не выбран. Знание этого ответит на другой вопрос.
Ответы:
Вы можете использовать что-то вроде этого
источник
$("#formID input:checkbox:checked").length
здесь тоже будет достаточноif ($("#formID input:checkbox:checked").length){}
(без>0
) будет достаточно, потому что 0 - ложное значение, см. James.padolsey.com/javascript/truthy-falsey:checkbox
селекторе:For better performance in modern browsers, use [type="checkbox"]
см. api.jquery.com/checkbox-selector - то же самое для радиобутонов, кстати,use [type="radio"] rather than :radio
api.jquery.com/radio-selectorJQuery
.is
проверит все указанные элементы и вернет истину, если хотя бы один из них соответствует селектору:источник
is()
кажется, что это работает, наличие:checked
непосредственно в селекторе, как указано в ответе @rahul, кажется более подходящим. is () кажется более полезным при использовании «внутренних обратных вызовов», см. api.jquery.com/is . Или я что-то упускаю?.is(":checked")
в вашем решении более выразительно, в остальном не уверен.$("form input[type=checkbox]").is(":checked")
может быть более простой и общий подход.is
может быть лучше, потому что оно останавливается, как только находит его.Ты можешь сделать это:
Куда:
:checkbox
селектор фильтров устанавливает все флажки.:checked
установит отмеченные флажкиlength
выдаст там количество проверенныхисточник
:checkbox
селекторе:For better performance in modern browsers, use [type="checkbox"]
см. api.jquery.com/checkbox-selectorВот что я использовал для проверки, изменились ли какие-либо флажки в списке флажков:
источник
Без использования length вы можете сделать это так:
источник
Вы можете сделать простой возврат
.length
здесь:Это ищет флажки в данной форме, проверяет, есть ли они,
:checked
и возвращает,true
если они есть (поскольку в противном случае длина была бы равна 0). Чтобы было немного понятнее, вот версия без логического преобразования:Это вернет количество проверенных.
источник
Ответ Рахула лучше всего подходит для вашего вопроса. В любом случае, если у вас есть группа флажков, которые нужно проверить, а не все флажки в вашей форме, вы можете пойти на это.
Поместите имя класса для всех флажков, которые вы хотите проверить, например, имя класса,
test_check
и теперь вы можете проверить, отмечен ли какой-либо из флажков, принадлежащих группе, с помощью:Если он возвращается
true
, предположим, что один или несколько флажков отмечены с именем класса,test_check
и ни один не проверяется, если возвращаетсяfalse
.Надеюсь, это кому-то поможет. Спасибо :)-
источник
Это лучший способ решить эту проблему.
источник