Wie deaktiviere ich einen submit-button, als checkbox deaktivieren?
Habe ich etwas hier, die nicht scheinen, um mir zu helfen, deaktivieren Sie die Schaltfläche senden. irgendwelche Ideen?
<input type="checkbox" checked="checked" id="checky"><a href="#">terms and conditions</a>
<input type="submit" id="postme" value="submit">
$('#checky').click(function(){
if($(this).checked == false){
$('#postme').attr("disabled","disabled");
} else {
$('#postme').removeAttr('disabled');
}
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie überprüfen, ob das Attribut
checked
und nicht die Methode.Aktualisiert fiddle : http://jsfiddle.net/8YBu5/7/
BEARBEITEN
Denken Sie daran, dass dieser code muss gewickelt werden innerhalb
$(document).ready()
oder legen Sie an der Unterseite Ihres html-code, sonst ist Ihr JS binden sich DOM-Elemente, die nicht geladen wurden und wird noch ausfallen.Wickelte Sie in .ready()
Dieser code gesetzt werden kann, die sich irgendwo im Dokument und wird nur ausgelöst, sobald der DOM fertig ist, so dass Sie nicht haben, um sorgen über vorzeitige löst.
Setzen Sie an das Ende des Dokuments
Wenn Sie setzen Sie an das Ende des Dokuments, die Sie nicht brauchen, um wickeln Sie es in
.ready()
weil das javascript nicht gelesen werden, bis alles andere geladen wurde. Es ist eine Leistungssteigerung, die in dieser Methode (wenn Sie haben eine Menge JS)Können Sie entweder eine der folgenden Methoden, um sicherzustellen, dass Ihre JS bindet Ereignisbehandlung Methoden, um DOM-Elemente nur nach Sie fertig geladen ist.
$(document).ready(function(){})
prop
stattattr
, siehe meine Antwort unten. Auch der Golf besser..attr('checked') == false
Methode. Sehr viel besser lesbar und schön.Vor jQuery 1.6
attr
war OK, nach 1,6 müssen Sieprop
.Attribute und Eigenschaften sind verschiedene Dinge, aber leider jQuery dauerte eine lange Zeit, um Sie zu unterscheiden.
Siehe auch: .prop() vs .attr()
ändern
$(this).checked
zuif($(this).attr('checked') == false){
Hier Sie gehen.
Diesem Weg versuchen
Versuchen, diese
Hinzufügen auf die Schaltfläche
#postme
ein click-Ereignis, das prüft, ob das Kontrollkästchen aktiviert ist. Wenn es aktiviert ist, false zurück, ansonsten true zurück.