Try changing
$('a').click(function() {
$('.chk').attr('checked', true);
});
To -
$('a').click(function() {
$('.chk').attr('checked', true).trigger('change');
});
That should force a trigger of the 'change' event.
Working demo - http://jsfiddle.net/ipr101/pwmBE/
try this.
<div id ="chkall"> <a href="#">check all</a> <div>
$('#chkall a').live("change", function() {
$('.chk').attr('checked', true);
});
use: $('.chk').attr('checked', true).change();
Live example: http://jsfiddle.net/NRPSA/1/
When you change the attribute also use the following:
$('.chk').trigger('change');
Or in your code like other people have suggested:
$('.chk').attr('checked', true).trigger('change');