<form id="target">
....
</form>
145
In älteren Versionen könnten Sie verwenden attr
. Ab jQuery 1.6 sollten Sie prop
stattdessen Folgendes verwenden :
$("#target :input").prop("disabled", true);
So deaktivieren Sie alle Formularelemente in 'Ziel'. Siehe :input
:
Entspricht allen Eingabe-, Textbereichs-, Auswahl- und Schaltflächenelementen.
Wenn Sie nur die <input>
Elemente wollen :
$("#target input").prop("disabled", true);
$("#target :input").prop("disabled", true);
$(this).closest('form').find('input').prop('disabled', true);
. Ich bin mir nicht sicher, ob Sie das besser konsolidieren können, aber ich bin bei jQuery immer noch ziemlich noobisch.Das obige Beispiel ist technisch falsch. Gemäß der neuesten jQuery sollte die
prop()
Methode für Dinge wie deaktiviert verwendet werden. Siehe ihre API-Seite.Um alle Formularelemente innerhalb von 'target' zu deaktivieren, verwenden Sie die Eingabeauswahl:, die allen Eingabe-, Textbereichs-, Auswahl- und Schaltflächenelementen entspricht.
Wenn Sie nur die Elemente möchten, verwenden Sie diese.
quelle
Der prägnantere Weg ist auch die Verwendung der Selektor-Engine. So deaktivieren Sie alle Formularelemente in einem div oder übergeordneten Formular.
quelle
Du kannst hinzufügen
und dann können Sie anrufen
quelle
So deaktivieren Sie alle Formulare, so einfach wie das Schreiben:
jQuery 1.6+
jQuery 1.5 und niedriger
quelle
Mit dieser einen Zeile können Sie jedes Eingabefeld in einem Formular deaktivieren
quelle
Die endgültige Antwort (Änderungen an der jQuery-API in Version 1.6) wurde von Gnarf gegeben
quelle