Есть такие камушки подводные
1. $(element).click(); — Чекбокс изменит состояние во всех браузерах, но в Опере при этом не сработает событие change, которое в других браузерах срабатывает вслед за click…
2. $(element).change() — не во всех браузерах меняет состояние чекбокса, кажется тут уже IE отличился… но не помню точно… ) В моём случае удовлетворило $(element).click().change() если не беспокоится о двойных срабатываниях. Если событие change не важно… достаточно $(element).click();
3. После динамического изменения чекбокса, становится неожиданно трудно в js проверить 1 он или 0 получился… При проверки атрибута attr('checked') или свойства checked у DOM объекта дают разные результаты в каких-то браузерах. Если проверять во время клика вполне вероятно расхождение из-за того что одни браузеры меняют состояние чекбокса до клика другие после клика. Если в обработчике клика проверять состояние чекбокса, то можно наткнуться на разные результаы в разных браузерах, но это лишь подозрения… так как все глюки исчезли с использованием jquery селектора value=$(element).is(':checked'); чего и советую :)