Знам как да видя дали е избрано отделно квадратче или не.
Но аз имам проблеми със следното - дам идентификация на формуляра, която трябва да видя дали който и да е от отметките (т.е. 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
}