Mám problém s jQuery.
Mám začiarkavacie políčko s ID "#checkAll" azačiarkavacie políčka s triedou „začiarkavacie políčka“. Chcem zapnúť všetky začiarkavacie políčka, keď je začiarknuté políčko s ID „checkAll“, a chcel by som vypnúť všetky začiarkavacie políčka, keď je začiarknuté políčko s ID „checkAll“.
Čo však teraz znamená, že keď prvýkrát kliknem na začiarkavacie políčko (#checkAll), zapnú sa všetky ostatné začiarkavacie políčka a keď prvýkrát zapnem zaškrtávacie políčko (#checkAll), vypnú sa aj všetky ostatné začiarkavacie políčka.
Keď sa však pokúsim po druhýkrát kliknúť na začiarkavacie políčko (#checkAll), všetky ostatné začiarkovacie políčka nie sú zapnuté.
Neviem, prečo sa to stane.
Prosím pomôžte mi!
Toto sú moje udalosti na spracovanie javascriptov.
ADMIN.event = (function() {
function _init(){
$(function(){
var checkAll = $("#checkAll"),
checkboxes = $(".checkboxes");
checkAll.click(function(){
if($(this).is(":checked")){
checkboxes.attr("checked", "checked");
} else {
checkboxes.removeAttr("checked");
}
})
});
}
_init();
}());
Toto je môj zobrazovací súbor v php.
<table class="fullTable">
<tr class="listTableTr">
<th class="listTableTh tinyTh"><input type="checkbox" name="" id="checkAll" /></th>
<th id="articleTitleTh" class="listTableTh">title</th>
</tr>
<?php foreach($postData as $post): ?>
<td class="listTableTd"><input type="checkbox" name="" class="checkboxes" /></td>
<td class="listTableTd"><a href="<?php echo "index.php?r=admin/post/edit&post=".$post["id"]; ?>"><?php echo $post["title"];?></a></td>
<?php endforeach; ?>
</table>
odpovede:
3 pre odpoveď č. 1Skúste pomocou .prop()
Páči sa mi to
checkAll.click(function(){
checkboxes.prop("checked",this.checked);
});
A je lepšie používať ho .on()
Páči sa mi to
checkAll.on("click" , function(){
checkboxes.prop("checked",this.checked);
});
1 pre odpoveď č. 2
Skúste to :
$("#checkAll").on("click",function(){
if($("#checkAll").is(":checked")) {
$(".checkboxes").attr("checked",true);
} else {
$(".checkboxes").attr("checked",false);
}
});
1 pre odpoveď č. 3
DEMO
Skúste toto
$("#checkAll").click(function () {
if ($(this).is(":checked"))
$(".checkboxes").prop("checked","checked");
else
$(".checkboxes").prop("checked",false);
});