Я использую событие переключения Jquery, чтобы делать что-то, когда пользователь нажимает флажок, например:
$('input#myId').toggle(
function(){
//do stuff
},
function(){
//do other stuff
}
);
Проблема в том, что флажок не отмечен, когда я нажимаю на флажок. (Все, что я положил в событие переключения, работает должным образом.)
Я пробовал следующее:
$('input#myId').attr('checked', 'checked');
и
$(this).attr('checked', 'checked');
и даже просто
return true;
Но ничего не работает. Может кто-нибудь сказать мне, где я иду не так?
Редактировать - спасибо всем, кто ответил. Ответ Дреаса почти сработал для меня, за исключением части, которая проверяла атрибут. Это работает отлично (хотя это немного глупо)
$('input#myInput').change(function ()
{
if(!$(this).hasClass("checked"))
{
//do stuff if the checkbox isn't checked
$(this).addClass("checked");
return;
}
//do stuff if the checkbox isn't checked
$(this).removeClass('checked');
});
Еще раз спасибо всем, кто ответил.