Kā pārbaudīt, vai izvēles rūtiņa izvēles rūtiņu masīvā ir atzīmēta, izmantojot izvēles rūtiņu masīva id?
Es izmantoju šādu kodu, bet tas vienmēr atgriež atzīmēto izvēles rūtiņu skaitu neatkarīgi no id.
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} citādi {
atgriezt true;
}
}
```
$('#' + id).is(":checked")
Tas tiek iegūts, ja izvēles rūtiņa ir atzīmēta.
Tāda paša nosaukuma izvēles rūtiņu masīvam var iegūt atzīmēto rūtiņu sarakstu, izmantojot:
var $boxes = $('input[name=thename]:checked');
Pēc tam, lai caur tām izietu cilpu un redzētu, kas ir atzīmēts, var izdarīt:
$boxes.each(function(){
// Do stuff here with this
});
Lai uzzinātu, cik daudz ir pārbaudīts, var izdarīt:
$boxes.length;
ID dokumentā jābūt unikāliem, t.i., to nevajadzētu darīt:
<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />
Tā vietā atmetiet ID un pēc tam atlasiet tos pēc nosaukuma vai pēc ietverošā elementa:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
Un tagad 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');
Iepriekš minētais kods atgriež true, ja izvēles rūtiņa ir atzīmēta, vai false, ja nav atzīmēta.