Tetapkan nilai input tersembunyi dengan jquery


96

Saya mencoba mengatur nilai bidang tersembunyi di bawah ini menggunakan jQuery.

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

Saya menggunakan kode ini:

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

Tapi itu tidak berhasil. Apa yang salah dengan kode saya?


4
Untuk kejelasan penuh, jQuery mengembalikan kumpulan elemen DOM. test tidak menjadi elemen DOM itu menjadi sebuah array. Untuk menggunakan javascript biasa a la .value, Anda dapat melakukan test [0] .value atau loop pada koleksi jika ada lebih dari satu. Jika tidak, test.val ('work!') Akan bekerja untuk Anda karena ini adalah metode jQuery daripada test.value yang merupakan properti dari objek elemen DOM.
Scottux

Jawaban:


131

Anda harus menggunakan valbukan value.

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

33

Ini berhasil untuk saya:

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

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

1
aneh, seharusnya melakukannya
Haim Evgi

Tidak ada masalah karena "Type = 'hidden'" daripada "type = 'hidden'" ada? Tidak yakin tentang atribut kasus campuran. Bisa mencengkeram sedotan ...
Hogsmill

1
saya pikir masalahnya di sini adalah pemilih .. Saya pikir seharusnya input[name="testing"-> pengujian di antara tanda kutip ... Setiap kali pengaturan beberapa nilai tidak berhasil, cobalah untuk mendapatkan elemen terlebih dahulu .. Jika Anda tidak mendapatkannya, Masalahnya bukan dengan .val (), tetapi mungkin dengan pemilih
Thomas Mulder

8

Misalkan Anda memiliki input tersembunyi, bernama XXX, jika Anda ingin memberikan nilai ke berikut ini

<script type="text/javascript">

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

FYI, Jawaban hanya kode umumnya ditandai sebagai berkualitas rendah dan biasanya akan dihapus. Coba posting beberapa konteks / penjelasan dengan jawaban Anda jika Anda ingin tetap ada dan (mungkin) mendapat suara positif.
sgress454

Selektor yang Anda gunakan ( #XXX) adalah untuk idatribut. Jika Anda "menamai" input XXX, pemilihnya adalah input[name="XXX"].
krummens

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

4

Untuk membuatnya dengan jquery, lakukan seperti ini:

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

Atau

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

Lihat bekerja di biola ini .


0

Anda tidak perlu menentukan nama, cukup memberikan id saja.

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

dan dibandingkan dengan jquery Anda dapat menggunakan metode 'val ()' seperti di bawah ini:

 $('#testId').val("work");
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.