jquery set all checkbox checked

checkbox, javascript, jquery

Solution

Use `.prop()` instead of `.attr()`

$(this).prop('checked', true); //true to check else false uncheck

Your code can be simplified as

$("#rowchkall").change(function () {
    $("input:checkbox.rowchk").prop('checked',this.checked);
});

A Good Read .prop() vs .attr()

Problem

I am using jquery 1.11.1 and this is my code: ``` $("#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); }); } }); ``` When I first click on `#rowchkall`, all the checkbox is set to checked. When I click it again, all checkbox is unchecked. When I click it again, alert box still appear but none of the checkbox will be checked. Why is it only work for first time only? How can I fix it? Thank you.

Original source

Related problems