Eu tenho a seguinte entrada:
<input id="fieldName" name="fieldName" type="text" class="text_box" value="Firstname"/>
Como posso usar o jQuery para tornar esse elemento uma entrada somente leitura sem alterar o elemento ou seu valor?
Atualmente, com o jQuery 1.6.1 ou superior, é recomendado que .prop () seja usado ao definir atributos / propriedades booleanas.
$("#fieldName").prop("readonly", true);
basta adicionar o seguinte atributo
// for disabled i.e. cannot highlight value or change
disabled="disabled"
// for readonly i.e. can highlight value but not change
readonly="readonly"
jQuery para fazer a mudança para o elemento (substituto disabled
para readonly
a seguir para a definição de readonly
atributo).
$('#fieldName').attr("disabled","disabled")
ou
$('#fieldName').attr("disabled", true)
NOTA: A partir do jQuery 1.6, é recomendável usar em .prop()
vez de .attr()
. O código acima irá funcionar exatamente o mesmo, exceto substituto .attr()
para .prop()
.
Para fazer uma entrada somente leitura, use:
para fazer uso de leitura / gravação:
adicionar o
disabled
atributo não enviará o valor com postagem.fonte
Você pode fazer isso simplesmente marcando-o
disabled
ouenabled
. Você pode usar este código para fazer isso:ou
$ ('# fieldName'). prop ('somente leitura', true);
$ ('# fieldName'). prop ('somente leitura', false);
--- É melhor usar prop em vez de attr.
fonte
Use este exemplo para tornar a caixa de texto somente leitura ou não.
fonte
Existem dois atributos, a saber,
readonly
edisabled
que podem gerar uma entrada semi-somente leitura. Mas há uma pequena diferença entre eles.readonly
atributo desabilita o texto de entrada e os usuários não podem mais alterá-lo.disabled
atributo não apenas tornará seu texto de entrada desativado (imutável), mas também não poderá ser enviado .Abordagem jQuery (1):
Abordagem jQuery (2):
Abordagem JavaScript:
PS
prop
introduzido comjQuery 1.6
.fonte
Dado -
isso funciona - (jquery 1.7.1)
testado com readonly e readOnly - ambos funcionaram.
fonte
Talvez use o atributo desativado:
Ou apenas use a tag label;;)
fonte
fonte
Talvez seja significativo também acrescentar que
pode ser usado como uma opção de alternância.
fonte
readonly
atributo ao elemento, independentemente do valor passado. Portanto, seu exemplo acabaria tornando o campo de entrada somente leitura, apesar de ostensivamente definir o valor como false.No JQuery 1.12.1, meu aplicativo usa o código:
$('"#raisepay_id"')[0].readOnly=true;
$('"#raisepay_id"')[0].readOnly=false;
e funciona.
fonte
O setReadOnly (state) é muito útil para formulários, podemos definir qualquer campo para setReadOnly (state) diretamente ou de várias condições. Mas eu prefiro usar readOnly para definir opacidade no seletor, caso contrário o attr = 'disabled' também funcionará como mesma maneira.
exemplos readOnly:
ou através de várias codições como
aqui estamos usando o valor booleano do estado para definir e remover o atributo readonly da entrada, dependendo de um clique na caixa de seleção.
fonte
Em html
no bootstrap
O JQuery é uma biblioteca em mudança e, às vezes, eles fazem melhorias regulares. .attr () é usado para obter atributos das tags HTML e, embora esteja perfeitamente funcional, o .prop () foi adicionado posteriormente para ser mais semântico e funciona melhor com atributos sem valor, como 'marcado' e 'selecionado'.
É recomendável que, se você estiver usando uma versão posterior do JQuery, use .prop () sempre que possível.
fonte