199 votes

jQuery access input hidden value

Comment puis-je accéder à <input type="hidden"> de l'étiquette value à l'aide de jQuery ?

3 votes

389voto

Tatu Ulmanen Points 52098

Vous pouvez accéder aux valeurs des champs cachés avec val() comme vous pouvez le faire pour tout autre élément d'entrée :

<input type="hidden" id="foo" name="zyx" value="bar" />

alert($('input#foo').val());
alert($('input[name=zyx]').val());
alert($('input[type=hidden]').val());
alert($(':hidden#foo').val());
alert($('input:hidden[name=zyx]').val());

Ils signifient tous la même chose dans cet exemple.

11 votes

Alert($('input[type=hidden]#foo').val()) ; Ceci trouve la variable cachée avec l'id foo . Cette recherche est plus spécifique.

6 votes

@MohammedRafeeq alert($('#foo').val()) ; Est tout aussi spécifique. Parce qu'un id est unique dans le DOM. Par conséquent, il trouvera toujours un seul élément si le html respecte les normes. Sauf si vous utilisez l'instruction pour vérifier si l'élément est caché ou non.

1 votes

Qu'est-ce qui est plus rapide ? $('#foo') ou $('input:hidden#foo') ? je suspecte le second puisque plus d'informations de recherche sont données mais je ne suis pas sûr de la façon dont c'est implémenté, donc je ne sais pas si mon sentiment est correct. EDIT : ok j'ai ma réponse grâce au commentaire d'Abel, id only, ie #foo est plus rapide.

19voto

Abel ANEIROS Points 506

18voto

kaiser Points 4137

Il existe un sélecteur jQuery pour cela :

// Get all form fields that are hidden
var hidden_fields = $( this ).find( 'input:hidden' );

// Filter those which have a specific type
hidden_fields.attr( 'text' );

Vous obtiendrez tous les champs d'entrée cachés et vous filtrerez ceux qui ont une valeur spécifique. type="" .

3 votes

Notez que cela correspond également aux éléments dont la valeur d'affichage CSS est none, aux éléments dont la largeur et la hauteur sont égales à 0 et aux éléments dont l'ancêtre est caché ( api.jquery.com/hidden-selector )

4voto

Rodrigo Longo Points 131

Si vous voulez sélectionner un champ caché individuel, vous pouvez le faire à l'aide des différents sélecteurs de jQuery :

<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/> 

$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class

0 votes

L'entrée cachée n'a pas de propriété de classe de style

4voto

Maxim Sloyko Points 4091

Il n'y a rien de spécial à propos <input type="hidden"> :

$('input[type="hidden"]').val()

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