Imposta il valore dell'input nascosto con jquery


93

Sto cercando di impostare il valore del campo nascosto di seguito utilizzando jQuery.

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

Sto usando questo codice:

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

Ma non funziona. Cosa c'è di sbagliato nel mio codice?


4
Per maggiore chiarezza, jQuery restituisce una raccolta di elementi DOM. test non diventa l'elemento DOM, diventa un array. Per utilizzare il semplice javascript a la .value, puoi eseguire il test [0] .value o eseguire un ciclo sulla raccolta se ce n'è più di uno. Altrimenti, test.val ('work!') Funzionerebbe per te poiché è un metodo jQuery piuttosto che test.value che è una proprietà dell'oggetto elemento DOM.
Scottux

Risposte:


129

Dovresti usare valinvece di value.

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

33

Questo ha funzionato per me:

$('input[name="sort_order"]').attr('value','XXX');

28
$('input[name="testing"]').val(theValue);

1
strano, dovrebbe farlo
Haim Evgi

Non c'è un problema a causa di "Type = 'hidden'" invece di "type = 'hidden'" c'è? Non sono sicuro degli attributi di maiuscole e minuscole. Potrebbe essere aggrappato alle cannucce ...
Hogsmill

1
Penso che il problema qui sia il selettore .. Penso che dovrebbe essere input[name="testing"-> test tra virgolette ... Ogni volta che l'impostazione di un valore non funziona, prova prima a ottenere l'elemento .. Se non lo ottieni, il il problema non è con .val (), ma probabilmente con il selettore
Thomas Mulder

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

7

Supponi di avere un input nascosto, denominato XXX, se desideri assegnare un valore al seguente

<script type="text/javascript">

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

Cordiali saluti, le risposte solo codice vengono generalmente contrassegnate come di bassa qualità e di solito vengono eliminate. Prova a pubblicare un contesto / spiegazione con la tua risposta se desideri che rimanga e (possibilmente) venga votato.
sgress454

Il selettore che stai usando ( #XXX) è per l' idattributo. Se hai "chiamato" un ingresso XXX, il selettore sarebbe input[name="XXX"].
krummens

4

Per farlo con jquery, fai in questo modo:

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

O

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

Vedi lavorare con questo violino .


0

Non è necessario impostare il nome, è sufficiente fornire un ID.

<input type="hidden" id="testId" />

e poi con jquery puoi usare il metodo 'val ()' come di seguito:

 $('#testId').val("work");
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.