Wie kann ich readonly
zu einem bestimmten hinzufügen <input>
? .attr('readonly')
funktioniert nicht.
javascript
jquery
Qiao
quelle
quelle
Antworten:
jQuery <1.9
jQuery 1.9+
Lesen Sie mehr über den Unterschied zwischen Prop und Attr
quelle
Verwenden Sie $ .prop ()
quelle
$.prop()
: Prop setzt das schreibgeschützte Attribut auf eine leere / leere Zeichenfolge. Wenn Sie also über CSS verfügen, für das der Attributselektor verwendet wird[readonly="readonly"]
, müssen Sie dies in[readonly]
(oder beides) ändern .Readonly ist ein Attribut, wie es in HTML definiert ist. Behandeln Sie es also wie eines.
Sie müssen so etwas wie readonly = "readonly" in dem Objekt haben, mit dem Sie arbeiten, wenn Sie möchten, dass es nicht bearbeitet werden kann. Und wenn Sie möchten, dass es wieder bearbeitet werden kann, haben Sie nicht so etwas wie readonly = '' (dies ist kein Standard, wenn ich es richtig verstanden habe). Sie müssen das Attribut wirklich als Ganzes entfernen.
Wenn Sie jquery verwenden, ist es sinnvoll, es hinzuzufügen und zu entfernen.
Stellen Sie etwas schreibgeschützt ein:
Schreibgeschützt entfernen:
Dies war die einzige Alternative, die wirklich für mich funktioniert hat. Ich hoffe es hilft!
quelle
.attr('readonly', 'readonly')
sollte den Trick machen. Sie geben.attr('readonly')
nur den Wert zurück, es wird kein Wert festgelegt.quelle
.attr
Wert sollte gemäß den jQuery-Dokumenten nur eine Zeichenfolge oder Zahl sein, kein Boolescher Wert: api.jquery.com/attr/#attr2 Außerdem sollten HTML-Boolesche Attribute nur eine leere Zeichenfolge oder der Wert des Attributs sein. Ich denke, die Lösung besteht darin.prop()
, Verwirrung zu vermeiden.Ich denke, "deaktiviert" schließt die Eingabe vom POST aus
quelle
Sie können die schreibgeschützte Funktion mithilfe von .removeAttr deaktivieren.
quelle
Zum Aktivieren von Readonly:
Zum Deaktivieren von Readonly
quelle
Verwenden Sie die Eigenschaft setAttribute. Beachten Sie im Beispiel, dass bei Auswahl von 1 das schreibgeschützte Attribut auf das Textfeld angewendet wird, andernfalls das schreibgeschützte Attribut entfernt wird.
http://jsfiddle.net/baqxz7ym/2/
quelle
Für jQuery Version <1.9:
Für jQuery-Version> = 1.9:
quelle