jQuery accede al valore nascosto di input


Risposte:


347

Puoi accedere ai valori dei campi nascosti con val(), proprio come puoi fare con qualsiasi altro elemento di input:

<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());

Tutti significano la stessa cosa in questo esempio.


11
alert ($ ( 'ingresso [type = hidden] #foo') val ().); Questo trova la variabile nascosta con id foo. Questa ricerca è più specifica.
Mohammed Rafeeq

6
@MohammedRafeeq alert ($ ('# foo'). Val ()); È altrettanto specifico. Perché un ID è unico nel DOM. Perciò troverà sempre solo un elemento se l'html segue gli standard. A meno che non si usi l'istruzione per verificare se l'elemento è nascosto o meno.
Edwin Stoteler,

1
cosa è più veloce? $ ('# foo') o $ ('input: hidden # foo')? sospetto che sia il secondo dato che sono state fornite più informazioni sulla ricerca ma non sono sicuro di come sia stato implementato, quindi non so se il mio feeling è corretto. EDIT: ok ho la mia risposta grazie al commento Abel, solo id, cioè #foo è più veloce.
comte

15

C'è un selettore jQuery per questo:

// 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' );

Ti darà tutti i campi di input nascosti e filtrerà quelli con uno specifico type="".


2
Nota che questo corrisponderà anche agli elementi che hanno un valore di visualizzazione CSS pari a nessuno, agli elementi che hanno una larghezza e altezza impostate su 0 e agli elementi che hanno un antenato nascosto ( api.jquery.com/hidden-selector )
Daniel Liuzzi,


6

Per ottenere valore, utilizzare:

$.each($('input'),function(i,val){
    if($(this).attr("type")=="hidden"){
        var valueOfHidFiled=$(this).val();
        alert(valueOfHidFiled);
    }
});

o:

var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);

Per impostare il valore, utilizzare:

$('input[type=hidden]').attr('value',newValue);

4

Non c'è niente di speciale in <input type="hidden">:

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

3

Se si desidera selezionare un singolo campo nascosto, è possibile selezionarlo tramite i diversi selettori di jQuery:

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


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

L'input nascosto non ha una proprietà di classe di stile
Philip Puthenvila,

3

Se hai un HiddenField asp.net devi:

Per accedere a HiddenField Value:

$('#<%=HF.ClientID%>').val()  // HF = your hiddenfield ID

Per impostare HiddenFieldValue

$('#<%=HF.ClientID%>').val('some value')   // HF = your hiddenfield ID

1

Fai attenzione se vuoi recuperare un valore booleano da un campo nascosto!

Per esempio:

<input type="hidden" id="SomeBoolean" value="False"/>

(Un input come questo verrà visualizzato da ASP MVC se si utilizza @Html.HiddenFor(m => m.SomeBoolean).)

Quindi quanto segue restituirà una stringa 'False', non un booleano JS!

var notABool = $('#SomeBoolean').val();

Se si desidera utilizzare il valore booleano per un po 'di logica, utilizzare invece quanto segue:

var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }

-1

Il modo più universale è prendere valore per nome. Non importa se il suo input o selezionare il tipo di elemento del modulo.

var value = $('[name="foo"]');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.