używam jQuery 1.11.1 i jest to mój kod:jquery ustawić wszystkie zaznaczone pole wyboru
$("#rowchkall").change(function(){
if($(this).is(':checked')){
$("input:checkbox[class=rowchk]").each(function() {
alert("set checked");
$(this).attr('checked', "checked");
});
}else{
$("input:checkbox[class=rowchk]").each(function() {
$(this).attr('checked', false);
});
}
});
Kiedy po raz pierwszy kliknij #rowchkall
, cała opcja jest ustawiona na sprawdzony. Gdy kliknę ponownie, wszystkie pola wyboru są odznaczone.
Po ponownym kliknięciu pola alertu nadal będą wyświetlane, ale żadne z pól wyboru nie będzie zaznaczone. Dlaczego działa tylko po raz pierwszy? Jak mogę to naprawić?
Dziękuję.
+1 za powiązanie z dokumentami i pokazanie przykładu, że drugi argument wniosku jest boolean – jmort253
Wielkie dzięki za odpowiedź. W twoim przykładzie, dlaczego nie po prostu ustawić go "true" lub "false"? Jaka jest korzyść z używania 'this.checked'? – user1995781
Myślę, że można to zmienić na '$ (". Rowchk ")', ponieważ atrybut "checked" jest tylko dla pól wyboru .. –