Risposte:
aggiungi semplicemente il seguente attributo
// for disabled i.e. cannot highlight value or change
disabled="disabled"
// for readonly i.e. can highlight value but not change
readonly="readonly"
jQuery per apportare la modifica all'elemento (sostituto disabled
per readonly
in seguito per l'impostazione readonly
attributo).
$('#fieldName').attr("disabled","disabled")
o
$('#fieldName').attr("disabled", true)
NOTA: A partire da jQuery 1.6, si consiglia di utilizzare .prop()
anziché .attr()
. Il codice sopra funzionerà esattamente lo stesso tranne che .attr()
per il sostituto .prop()
.
Puoi farlo semplicemente marcandolo disabled
o enabled
. Puoi usare questo codice per fare questo:
//for disable
$('#fieldName').prop('disabled', true);
//for enable
$('#fieldName').prop('disabled', false);
o
$ ('# fieldName'). prop ('readonly', true);
$ ('# fieldName'). prop ('readonly', false);
--- È meglio usare prop invece di attr.
Utilizzare questo esempio per rendere la casella di testo ReadOnly o Not.
<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>
Esistono due attributi, vale a dire readonly
e disabled
, che possono rendere un input di sola lettura. Ma c'è una piccola differenza tra loro.
<input type="text" readonly />
<input type="text" disabled />
readonly
attributo rende il testo di input disabilitato e gli utenti non possono più modificarlo.disabled
attributo non solo renderà il tuo testo di input disabilitato (immutabile), ma non potrà nemmeno essere inviato .Approccio jQuery (1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
Approccio jQuery (2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
Approccio JavaScript:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS prop
introdotto con jQuery 1.6
.
Dato -
<input name="foo" type="text" value="foo" readonly />
funziona - (jquery 1.7.1)
$('input[name="foo"]').prop('readonly', true);
testato con readonly e readOnly - entrambi hanno funzionato.
Forse usa l'attributo disabilitato:
<input disabled="disabled" id="fieldName" name="fieldName" type="text" class="text_box" />
O semplicemente usa il tag label:;)
<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>
Forse è significativo aggiungere anche quello
$('#fieldName').prop('readonly',false);
può essere utilizzato come opzione di attivazione / disattivazione.
readonly
attributo all'elemento, indipendentemente dal valore passato. Quindi il tuo esempio finirebbe per rendere il campo di input di sola lettura, nonostante apparentemente impostando il valore su false.
SetReadOnly (stato) è molto utile per i moduli, possiamo impostare qualsiasi campo su setReadOnly (stato) direttamente o da varie condizioni.Ma preferisco usare readOnly per impostare l'opacità sul selettore, altrimenti anche attr = 'disabled' funzionava come il stessa strada.
readSolo esempi:
$('input').setReadOnly(true);
o attraverso le varie codifiche come
var same = this.checked;
$('input').setReadOnly(same);
qui stiamo usando il valore booleano dello stato per impostare e rimuovere l'attributo readonly dall'input in base a un clic della casella di controllo.
In html
$('#raisepay_id').attr("readonly", true)
$("#raisepay_id").prop("readonly",true);
nel bootstrap
$('#raisepay_id').attr("disabled", true)
$("#raisepay_id").prop("disabled",true);
JQuery è una libreria in evoluzione e talvolta apportano miglioramenti regolari. .attr () viene utilizzato per ottenere gli attributi dai tag HTML e, sebbene sia perfettamente funzionale, .prop () è stato aggiunto in seguito per essere più semantico e funziona meglio con attributi senza valore come "controllato" e "selezionato".
Si consiglia di utilizzare .prop () se si utilizza una versione successiva di JQuery ogni volta che è possibile.