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?

TonyM
sumber
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>
Jenggot Seram
sumber
33

Ini berhasil untuk saya:

$('input[name="sort_order"]').attr('value','XXX');
gzveri
sumber
28
$('input[name="testing"]').val(theValue);
Haim Evgi
sumber
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>
arteagasoft.dll
sumber
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!');
Dat Nguyen
sumber
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 .

Maykonn
sumber
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");
nzrytmn
sumber