Odpowiedzi:
po prostu dodaj następujący atrybut
// for disabled i.e. cannot highlight value or change
disabled="disabled"
// for readonly i.e. can highlight value but not change
readonly="readonly"
jQuery dokonać zmiany elementu (zmiennika disableddla readonlyponiżej do ustawiania readonlyatrybutu).
$('#fieldName').attr("disabled","disabled")
lub
$('#fieldName').attr("disabled", true)
UWAGA: Począwszy od jQuery 1.6, zaleca się używanie .prop()zamiast .attr(). Powyższy kod będzie działać dokładnie tak samo z wyjątkiem substytut .attr()dla .prop().
Możesz to zrobić, po prostu zaznaczając go disabledlub enabled. Możesz użyć tego kodu, aby to zrobić:
//for disable
$('#fieldName').prop('disabled', true);
//for enable
$('#fieldName').prop('disabled', false);
lub
$ ('# fieldName'). prop ('readonly', true);
$ ('# fieldName'). prop ('readonly', false);
--- Lepiej jest użyć właściwości zamiast atr.
Użyj tego przykładu, aby pole tekstowe było tylko do odczytu lub nie.
<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>
Istnieją dwa atrybuty, a mianowicie readonlyi disabled, które mogą stanowić dane wejściowe tylko do odczytu. Ale jest między nimi niewielka różnica.
<input type="text" readonly />
<input type="text" disabled />
readonlyCecha sprawia, że tekst wejście wyłączone, a użytkownicy nie są w stanie zmienić go już.disabledAtrybut nie tylko spowoduje wyłączenie tekstu wejściowego (niezmienność), ale także uniemożliwi jego przesłanie .Podejście jQuery (1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
Podejście jQuery (2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
Podejście JavaScript:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS propwprowadzony z jQuery 1.6.
Dany -
<input name="foo" type="text" value="foo" readonly />
to działa - (jquery 1.7.1)
$('input[name="foo"]').prop('readonly', true);
testowane z readonly i readOnly - oba działały.
Może użyć atribute disabled:
<input disabled="disabled" id="fieldName" name="fieldName" type="text" class="text_box" />
Lub po prostu użyj tagu etykiety:;)
<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>
Być może warto też to dodać
$('#fieldName').prop('readonly',false);
może być używany jako opcja przełączania.
readonlyatrybut do elementu, niezależnie od przekazanej wartości. Więc twój przykład zakończyłby się uczynieniem pola wejściowego tylko do odczytu, pomimo pozornego ustawienia wartości na fałsz.
SetReadOnly (stan) jest bardzo przydatny w przypadku formularzy, możemy ustawić dowolne pole na setReadOnly (stan) bezpośrednio lub z różnych warunków, ale wolę używać readOnly do ustawiania krycia dla selektora, w przeciwnym razie atrybut attr = 'disabled' również działał jak ta sama droga.
readOnly przykłady:
$('input').setReadOnly(true);
lub poprzez różne przepisy, takie jak
var same = this.checked;
$('input').setReadOnly(same);
tutaj używamy wartości logicznej stanu do ustawiania i usuwania atrybutu tylko do odczytu z wejścia w zależności od kliknięcia pola wyboru.
W html
$('#raisepay_id').attr("readonly", true)
$("#raisepay_id").prop("readonly",true);
w bootstrapie
$('#raisepay_id').attr("disabled", true)
$("#raisepay_id").prop("disabled",true);
JQuery to zmieniająca się biblioteka i czasami wprowadzają regularne ulepszenia. .attr () służy do pobierania atrybutów ze znaczników HTML i chociaż jest doskonale funkcjonalny .prop () został dodany później, aby był bardziej semantyczny i działa lepiej z atrybutami bez wartości, takimi jak „zaznaczone” i „wybrane”.
Zaleca się, aby w przypadku korzystania z późniejszej wersji JQuery używać .prop () zawsze, gdy jest to możliwe.