Я использую JQuery для переключения событий, когда пользователь нажимает флажок, например:
$('input#myId').toggle(
function(){
//do stuff
},
function(){
//do other stuff
}
);
Проблема заключается в том, что флажок не отмечен, когда я нажимаю на этот флажок. (Весь материал, который я ввел в событие переключения, работает правильно.)
Я пробовал следующее:
$('input#myId').attr('checked', 'checked');
и
$(this).attr('checked', 'checked');
и даже просто
return true;
Но ничего не работает. Может ли кто-нибудь сказать мне, где я ошибаюсь?
Изменить - спасибо всем, кто ответил. Ответ Dreas очень сработал у меня, за исключением части, которая проверяла атрибут. Это работает отлично (хотя это немного хаки)
$('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');
});
Еще раз спасибо всем, кто ответил.