Antworten:
Fügen Sie einfach das folgende Attribut hinzu
// for disabled i.e. cannot highlight value or change
disabled="disabled"
// for readonly i.e. can highlight value but not change
readonly="readonly"
jQuery zu machen , um die Änderung zu dem Element (Ersatz disabled
für die readonly
in der folgenden für die Einstellung readonly
Attribut).
$('#fieldName').attr("disabled","disabled")
oder
$('#fieldName').attr("disabled", true)
HINWEIS: Ab jQuery 1.6 wird empfohlen, .prop()
anstelle von zu verwenden .attr()
. Der obige Code funktioniert genauso wie der Ersatz .attr()
für .prop()
.
Sie können dies tun, indem Sie es einfach markieren disabled
oder enabled
. Sie können diesen Code verwenden, um dies zu tun:
//for disable
$('#fieldName').prop('disabled', true);
//for enable
$('#fieldName').prop('disabled', false);
oder
$ ('# fieldName'). prop ('schreibgeschützt', true);
$ ('# fieldName'). prop ('readonly', false);
--- Es ist besser, prop anstelle von attr zu verwenden.
Verwenden Sie dieses Beispiel, um das Textfeld ReadOnly oder Not zu erstellen.
<input type="textbox" class="txt" id="txt"/>
<input type="button" class="Btn_readOnly" value="Readonly" />
<input type="button" class="Btn_notreadOnly" value="Not Readonly" />
<script>
$(document).ready(function(){
('.Btn_readOnly').click(function(){
$("#txt").prop("readonly", true);
});
('.Btn_notreadOnly').click(function(){
$("#txt").prop("readonly", false);
});
});
</script>
Es gibt zwei Attribute, nämlich readonly
und disabled
, die eine schreibgeschützte Eingabe vornehmen können. Aber es gibt einen winzigen Unterschied zwischen ihnen.
<input type="text" readonly />
<input type="text" disabled />
readonly
Attribut deaktiviert Ihren Eingabetext und Benutzer können ihn nicht mehr ändern.disabled
Attribut macht Ihren Eingabetext nicht nur deaktiviert (unveränderlich), sondern kann auch nicht gesendet werden .jQuery-Ansatz (1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
jQuery-Ansatz (2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
JavaScript-Ansatz:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS prop
eingeführt mit jQuery 1.6
.
Gegeben -
<input name="foo" type="text" value="foo" readonly />
das funktioniert - (jquery 1.7.1)
$('input[name="foo"]').prop('readonly', true);
getestet mit readonly und readOnly - beide haben funktioniert.
Verwenden Sie möglicherweise atribute disabled:
<input disabled="disabled" id="fieldName" name="fieldName" type="text" class="text_box" />
Oder verwenden Sie einfach das Etikett :;)
<label>
<html xmlns="http://www.w3.org/1999/xhtml">
<head >
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div>
<input id="fieldName" name="fieldName" type="text" class="text_box" value="Firstname" />
</div>
</body>
<script type="text/javascript">
$(function()
{
$('#fieldName').attr('disabled', 'disabled');
});
</script>
</html>
Vielleicht ist es sinnvoll, das auch hinzuzufügen
$('#fieldName').prop('readonly',false);
kann als Umschaltoption verwendet werden ..
readonly
dem Element einfach ein Attribut hinzu , unabhängig vom übergebenen Wert. Ihr Beispiel würde also dazu führen, dass das Eingabefeld schreibgeschützt ist, obwohl der Wert angeblich auf false gesetzt ist.
SetReadOnly (state) ist sehr nützlich für Formulare. Wir können jedes Feld direkt oder unter verschiedenen Bedingungen auf setReadOnly (state) setzen. Ich bevorzuge jedoch readOnly, um die Deckkraft des Selektors festzulegen, andernfalls funktionierte attr = 'disabled' auch wie das gleicher Weg.
readOnly Beispiele:
$('input').setReadOnly(true);
oder durch die verschiedenen Kodierungen wie
var same = this.checked;
$('input').setReadOnly(same);
Hier verwenden wir den Status-Booleschen Wert, um das schreibgeschützte Attribut abhängig von einem Kontrollkästchen-Klick festzulegen und aus der Eingabe zu entfernen.
In HTML
$('#raisepay_id').attr("readonly", true)
$("#raisepay_id").prop("readonly",true);
im Bootstrap
$('#raisepay_id').attr("disabled", true)
$("#raisepay_id").prop("disabled",true);
JQuery ist eine sich ändernde Bibliothek und manchmal werden sie regelmäßig verbessert. .attr () wird verwendet, um Attribute aus den HTML-Tags abzurufen, und obwohl es perfekt funktioniert, wurde .prop () später hinzugefügt, um semantischer zu sein, und es funktioniert besser mit wertlosen Attributen wie "markiert" und "ausgewählt".
Wenn Sie eine spätere Version von JQuery verwenden, sollten Sie nach Möglichkeit .prop () verwenden.