2011-01-26 14 views
65

Sto provando a impostare il valore del campo nascosto sotto usando jQuery.Imposta il valore dell'ingresso nascosto con jquery

<input type="hidden" value="" name="testing" /> 

sto usando questo codice:

var test = $("input[name=testing]:hidden"); 
test.value = 'work!'; 

Ma non il suo lavoro. Cosa c'è che non va nel mio codice?

+3

Per una maggiore chiarezza, jQuery restituisce una raccolta di elementi DOM. il test non diventa l'elemento DOM diventa una matrice. Per utilizzare plain ol 'javascript a la .value, puoi eseguire test [0] .value o loop sulla raccolta se ne esiste più di una. Altrimenti, test.val ('work!') Funzionerebbe per te dato che è un metodo jQuery piuttosto che test.value che è una proprietà dell'oggetto elemento DOM. – Scottux

risposta

17
$('input[name="testing"]').val(theValue); 
+0

$ ('input [nome = testing]'). Val ('lavoro!'); e niente è armato – TonyM

+0

strano, dovrebbe farlo –

+0

hai inserito il tuo codice jquery in document.ready? –

99

È necessario utilizzare val anziché value.

<script type="text/javascript" language="javascript"> 
$(document).ready(function() { 
    $('input[name="testing"]').val('Work!'); 
}); 
</script> 
25

questo ha funzionato per me:

$('input[name="sort_order"]').attr('value','XXX'); 
6
var test = $('input[name="testing"]:hidden'); 
test.val('work!'); 
7

Supponiamo di avere un input nascosto, di nome XXX, se si desidera assegnare un valore alla seguente

<script type="text/javascript"> 

    $(document).ready(function(){ 
    $('#XXX').val('any value'); 
    }) 
</script> 
+0

FYI, le risposte di solo codice vengono generalmente contrassegnate come di bassa qualità e di solito essere cancellato Prova a postare qualche contesto/spiegazione con la tua risposta se desideri che rimanga in sospeso e (possibilmente) venga svalutato. – sgress454

+0

Il selettore in uso ('# XXX') è per l'attributo' id'. Se "chiamavi" un input XXX, il selettore sarebbe "input [nome =" XXX "]'. – krummens

3

Per fallo con jquery, in questo modo:

var test = $("input[name=testing]:hidden"); 
test.val('work!'); 

O

var test = $("input[name=testing]:hidden").val('work!'); 

Vedere lavorare in questa fiddle.

Problemi correlati