Jak mogę sprawdzić czy pole wyboru w tablicy checkbox jest zaznaczone używając id tablicy checkbox?
Używam następującego kodu, ale zawsze zwraca on liczbę zaznaczonych pól wyboru bez względu na id.
``js function isCheckedById(id) { alert(id); var checked = $("input[@id=" + id + "]:checked").length; alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
$('#' + id).is(":checked")
To dostaje, jeśli pole wyboru jest zaznaczone.
Dla tablicy pól wyboru o tej samej nazwie możesz uzyskać listę zaznaczonych przez:
var $boxes = $('input[name=thename]:checked');
Następnie, aby zapętlić je i zobaczyć co'jest zaznaczone możesz zrobić:
$boxes.each(function(){
// Do stuff here with this
});
Aby dowiedzieć się ile z nich jest zaznaczonych możesz zrobić:
$boxes.length;
Identyfikatory muszą być unikalne w Twoim dokumencie, co oznacza, że nie powinieneś tego robić:
<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />
Zamiast tego upuść ID, a następnie wybierz je według nazwy lub według elementu zawierającego:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
A teraz jQuery:
var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector
// or, without the container:
var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
$('#checkbox').is(':checked');
Powyższy kod zwraca wartość true jeśli pole jest zaznaczone lub false jeśli nie.