Jawaban:
Anda dapat mengakses nilai-nilai bidang tersembunyi val()
, sama seperti yang dapat Anda lakukan pada elemen input lainnya:
<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());
Semua itu memiliki arti yang sama dalam contoh ini.
Ada pemilih jQuery untuk itu:
// 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' );
Akan memberi Anda semua bidang input tersembunyi dan filter oleh orang-orang dengan spesifik type=""
.
Cara paling efisien adalah dengan ID.
$("#foo").val(); //by id
Anda dapat membaca lebih lanjut di sini:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efisien_CSS
https://developers.google.com/speed/docs/best-practices/rendering?hl=it#UseEfficientCSSSelektor
Untuk mendapatkan nilai, gunakan:
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
var valueOfHidFiled=$(this).val();
alert(valueOfHidFiled);
}
});
atau:
var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);
Untuk menetapkan nilai, gunakan:
$('input[type=hidden]').attr('value',newValue);
Tidak ada yang spesial tentang <input type="hidden">
:
$('input[type="hidden"]').val()
Jika Anda ingin memilih satu bidang tersembunyi, Anda dapat memilihnya melalui berbagai pemilih jQuery:
<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>
$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class
Jika Anda memiliki asp.net HiddenField, Anda perlu:
Untuk mengakses Nilai HiddenField:
$('#<%=HF.ClientID%>').val() // HF = your hiddenfield ID
Untuk mengatur HiddenFieldValue
$('#<%=HF.ClientID%>').val('some value') // HF = your hiddenfield ID
Hati-hati jika Anda ingin mengambil nilai boolean dari bidang tersembunyi!
Sebagai contoh:
<input type="hidden" id="SomeBoolean" value="False"/>
(Input seperti ini akan diberikan oleh ASP MVC jika Anda menggunakannya @Html.HiddenFor(m => m.SomeBoolean)
.)
Maka yang berikut ini akan mengembalikan string 'False'
, bukan JS boolean!
var notABool = $('#SomeBoolean').val();
Jika Anda ingin menggunakan boolean untuk beberapa logika, gunakan yang berikut ini sebagai gantinya:
var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }
Cara paling universal adalah mengambil nilai berdasarkan nama. Tidak masalah apakah input atau pilih tipe elemen form.
var value = $('[name="foo"]');