Bir onay kutusu dizisindeki bir onay kutusunun işaretli olup olmadığını onay kutusu dizisinin kimliğini kullanarak nasıl kontrol edebilirim?
Aşağıdaki kodu kullanıyorum, ancak id'den bağımsız olarak her zaman işaretli onay kutularının sayısını döndürüyor.
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
false döndür;
} else {
true döndür;
}
}
$('#' + id).is(":checked")
Bu, onay kutusu işaretliyse alır.
Aynı isme sahip onay kutularından oluşan bir dizi için işaretli olanların listesini şu şekilde alabilirsiniz:
var $boxes = $('input[name=thename]:checked');
Sonra bunların arasında dolaşın ve neler yapabileceğinizi kontrol edin:
$boxes.each(function(){
// Do stuff here with this
});
Kaç tanesinin kontrol edildiğini bulmak için şunları yapabilirsiniz:
$boxes.length;
Kimlikler belgenizde benzersiz olmalıdır, yani bunu yapmamalısınız't:
<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />
Bunun yerine, kimliği bırakın ve ardından bunları ada göre veya içeren bir öğeye göre seçin:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
Ve şimdi 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');
Yukarıdaki kod, onay kutusu işaretliyse true, işaretli değilse false döndürür.