Ich jQuerys Toggle Event mit ein paar Sachen zu tun, wenn ein Benutzer eine Checkbox klickt, wie folgt aus:JQuery Toggle-Ereignis wird mit Checkbox Wert Messing
$('input#myId').toggle(
function(){
//do stuff
},
function(){
//do other stuff
}
);
Das Problem ist, dass das Kontrollkästchen nicht aktiviert wird wenn ich auf das Kontrollkästchen klicke. (Alle Sachen, die ich in die Wechselereignis gesetzt haben ordnungsgemäß funktioniert.)
Ich habe versucht, die folgenden:
$('input#myId').attr('checked', 'checked');
und
$(this).attr('checked', 'checked');
und sogar einfach
return true;
Aber nichts funktioniert. Kann mir jemand sagen, wo ich falsch liege?
Bearbeiten - Danke an alle, die geantwortet haben. Dreas 'Antwort hat fast für mich funktioniert, außer für den Teil, der das Attribut überprüft hat. Dies funktioniert perfekt (obwohl es ein bisschen hacky ist)
$('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');
});
Vielen Dank noch einmal an alle, die geantwortet haben.
im Browser physisch zeigt es ist nicht so überprüft werden, wenn Sie darauf klicken, oder nur Ihre Veranstaltung Brennen nicht wahr? –
Das Ereignis wird korrekt ausgelöst und der richtige Code wird ausgeführt, aber das Kontrollkästchen wird nicht überprüft! Wenn ich die Werte aus dem Formular verbuche, wird der Wert des Kontrollkästchens nicht durch beide gepostet. –
Anstatt addClass, hasClass und removeClass zu verwenden, verwenden Sie toggleClass. – Ballsacian1