/ / jQuery вижте дали са избрани някакви или няма квадратчета за избор - javascript, jquery, html-форма

jQuery вижте дали са избрани отметки или отметки - javascript, jquery, html-form

Знам как да видя дали е избрано отделно квадратче или не.

Но аз имам проблеми със следното - дам идентификация на формуляра, която трябва да видя дали който и да е от отметките (т.е. 1 или повече) и трябва да видя дали нито един са избрани. По принцип имам нужда от две отделни функции, които отговарят на тези два въпроса. Помощта ще бъде оценена. Благодаря!

Всъщност, просто ще ми трябва функция, която да ми каже нито един са избрани. Да знаеш това ще отговори на другия въпрос.

Отговори:

200 за отговор № 1

Можете да използвате нещо подобно

if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}

24 за отговор № 2

JQuery .is ще тества всички посочени елементи и ще върне true, ако поне един от тях съответства на селектора:

if ($(":checkbox[name="choices"]", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}

6 за отговор № 3

Можете да направите това:

  if ($("#form_id :checkbox:checked").length > 0){
// one or more checkboxes are checked
}
else{
// no checkboxes are checked
}

Където:

  • :checkbox Селекторът на филтъра избира всички отметки.
  • :checked ще маркира отметнатите квадратчета
  • length ще даде броя на проверените там

3 за отговор № 4

Можете да направите просто връщане на .length тук:

function areAnyChecked(formID) {
return !!$("#"+formID+" input[type=checkbox]:checked").length;
}

Това търсене на квадратчета в дадената форма, вижда дали има такива :checked и се връща true ако са (тъй като дължината ще бъде 0 в противен случай). За да стане малко по-ясно, тук не е преобразувана версия:

function howManyAreChecked(formID) {
return $("#"+formID+" input[type=checkbox]:checked").length;
}

Това ще върне броя на проверените.


2 за отговор № 5

Отговорът на Рахул е най-подходящ за вашия въпрос. Както и да е, ако имате група от квадратчета, които трябва да бъдат проверени, а не всички квадратчета във формуляра, можете да го направите.

Поставете име на класа за всички квадратчета, които искате да проверите, да речем например име на клас test_check и сега можете да проверите дали някоя от квадратчетата за отметка е включена в групата чрез:

$("#formID .test_check:checked").length > 0

Ако се върне trueПредполагам, че се проверяват едно или повече квадратчета с името на класа test_check и никой не е проверен, ако се върне false.

Надявам се това да помогне на някой. Благодаря :)-


1 за отговор № 6

Това е, което използвах, за да проверя дали е имало промени в квадратчета за отметки в списък с отметки:

$("input[type="checkbox"]").change(function(){

var itemName = $("select option:selected").text();

//Do something.

});

1 за отговор № 7

Без да използвате "дължина" можете да го направите по следния начин:

if ($("input[type=checkbox]").is(":checked")) {
//any one is checked
}
else {
//none is checked
}