349 Stimmen

Wie kann man einem <input> ein Attribut "readonly" hinzufügen?

Wie kann ich hinzufügen readonly zu einer bestimmten <input> ? .attr('readonly') funktioniert nicht.

632voto

Christian C. Salvadó Punkte 763569

JQuery <1.9

$('#inputId').attr('readonly', true);

jQuery 1.9+

$('#inputId').prop('readonly', true);

の続きを読む Unterschied zwischen prop und attr

159voto

Greg Punkte 8354

Verwenden Sie $.prop()

$("#descrip").prop("readonly",true);

$("#descrip").prop("readonly",false);

30voto

Readonly ist ein Attribut, wie es in html definiert ist, also behandeln Sie es wie ein solches.

Sie müssen in dem Objekt, mit dem Sie arbeiten, etwas wie readonly="readonly" angeben, wenn es nicht bearbeitbar sein soll. Und wenn Sie wollen, dass es wieder bearbeitbar ist, brauchen Sie etwas wie readonly='' (das ist kein Standard, wenn ich das richtig verstanden habe). Sie müssen das Attribut wirklich als Ganzes entfernen.

Als solche, während mit jquery Hinzufügen und Entfernen es ist, was Sinn macht.

Etwas schreibgeschützt einstellen:

$("#someId").attr('readonly', 'readonly');

Entfernen Sie readonly:

$("#someId").removeAttr('readonly');

Das war die einzige Alternative, die für mich wirklich funktioniert hat. Hoffentlich hilft es!

20voto

ceejayoz Punkte 170567

.attr('readonly', 'readonly') sollte das genügen. Ihr .attr('readonly') gibt nur den Wert zurück, es wird kein Wert gesetzt.

16voto

Ich denke, "deaktiviert" schließt aus, dass die Eingabe auf der POST gesendet wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X