jQueryの.click()でイベントを設定する場合、クリックした際のイベントが上書きされて、チェックがつかなくなってしまうので注意が必要。
$(function(){ $('input.no-date').click(function(){ action(); $(function() { if ($(this).prop('checked')) { $(this).prop('checked', false); } else { $(this).prop('checked', true); } return false; }); }); });
上のように、手動でチェックのon,offを記述すればオッケーです