Ответ 1
Вы можете использовать что-то вроде этого
if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
Я знаю, как определить, выбран ли отдельный флажок.
Но у меня возникают проблемы со следующим - с учетом идентификатора формы. Мне нужно выяснить, выбран ли какой-либо из флажков (например, 1 или больше), и мне нужно увидеть, не выбраны ли они. В основном мне нужны две отдельные функции, которые отвечают на эти два вопроса. Помощь была бы оценена. Спасибо!
Собственно, мне просто нужна функция, чтобы сказать мне, если ни один не выбран. Зная это, ответит на другой вопрос.
Вы можете использовать что-то вроде этого
if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
JQuery .is
проверит все указанные элементы и вернет true, если хотя бы один из них соответствует селектору:
if ($(":checkbox[name='choices']", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}
Вы можете сделать это:
if ($('#form_id :checkbox:checked').length > 0){
// one or more checkboxes are checked
}
else{
// no checkboxes are checked
}
Где:
Вы можете сделать простой возврат .length
здесь:
function areAnyChecked(formID) {
return !!$('#'+formID+' input[type=checkbox]:checked').length;
}
Этот флажок для флажков в данной форме, если они есть :checked
и возвращает true
, если они есть (поскольку длина в противном случае будет 0). Чтобы сделать его более понятным, здесь небулевая преобразованная версия:
function howManyAreChecked(formID) {
return $('#'+formID+' input[type=checkbox]:checked').length;
}
Это вернет количество проверок.
Ответ Рахула лучше всего подходит для вашего вопроса. В любом случае, если у вас есть группа флажков, которые нужно проверить, а не все флажки в вашей форме, вы можете пойти на это.
Поместите имя класса для всех флажков, которые вы хотите проверить, например, имя класса test_check
, и теперь вы можете проверить, отмечен ли какой-либо из этих флажков, принадлежащих этой группе, следующим образом:
$("#formID .test_check:checked").length > 0
Если он возвращает true
, предположим, что отмечен один или несколько флажков, имеющих имя класса test_check
, и никто не проверял, возвращает ли он false
.
Надеюсь, это поможет кому-то. Спасибо:) -
Это то, что я использовал для проверки того, изменились ли какие-либо флажки в списке флажков:
$('input[type="checkbox"]').change(function(){
var itemName = $('select option:selected').text();
//Do something.
});
Без использования 'length' вы можете сделать это следующим образом:
if ($('input[type=checkbox]').is(":checked")) {
//any one is checked
}
else {
//none is checked
}