47 votes

Faire textarea en lecture seule avec jQuery

Pour le texte input je fais:

 $('input[type="text"]').each(function(){
  $(this).attr('readonly','readonly');
});
 

Mais que dois-je faire pour textarea , pour le rendre readonly .

78voto

Nick Craver Points 313913

L'inclure dans votre sélecteur (à l'aide d'un de plusieurs/élément sélecteur), comme ceci:

$('input[type="text"], textarea').attr('readonly','readonly');

Vous pouvez le tester ici, si c'est la seule chose que vous faites, il n'y a pas besoin d'un .each(), vous pouvez les appeler .attr() sur tous les éléments qui correspondent.

19voto

Manu Points 1725

Dans les dernières versions de jQuery, l'utilisation de la méthode prop est préféré au cours de l'utilisation de attr.

Pour effectuer un textarea en lecture seule:
$('mytextarea1').prop('readonly', true);

Pour faire toutes ces zones de texte en lecture seule:
$('textarea').prop('readonly', true);

Pour faire tous les 'texte' les champs en lecture seule:
$('input[type=text]').prop('readonly', true);

Pour faire tous les "texte" et textarea en lecture seule:
$('input[type=text],textarea').prop('readonly', true);

Veuillez également noter la différence entre "lecture seule" et "personnes handicapées" en termes d'apparence:

Ci-dessous est un <textarea> avec disabled ensemble de true:
Textarea disabled(l'air différent)

Ci-dessous est un <textarea> avec readonly ensemble de true:
textarea readonly(il regarde même)

13voto

Doctor Rudolf Points 106

Depuis Jquery 1.6, utilisez

 $("#mytxtarea").prop("disabled", true);
 

Visitez http://api.jquery.com/prop/

8voto

Gopi Points 5317

Essaye ça

 $("#mytxtarea").attr("disabled", "disabled");
 

2voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X