Відповіді:
Ви можете отримати доступ до значень прихованих полів за допомогою val(), як і для будь-якого іншого вхідного елемента:
<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());
Всі вони означають те саме в цьому прикладі.
Для цього є селектор jQuery:
// 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' );
Дасть вам усі приховані поля введення та фільтрує ті, хто має певні type="".
Найефективніший спосіб - за допомогою ідентифікатора.
$("#foo").val(); //by id
Більше ви можете прочитати тут:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS
https://developers.google.com/speed/docs/best-practices/rendering?hl=it#UseEfficientCSSSelectors
Щоб отримати цінність, використовуйте:
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
var valueOfHidFiled=$(this).val();
alert(valueOfHidFiled);
}
});
або:
var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);
Щоб встановити значення, використовуйте:
$('input[type=hidden]').attr('value',newValue);
У цьому немає нічого особливого <input type="hidden">:
$('input[type="hidden"]').val()
Якщо ви хочете вибрати окреме приховане поле, ви можете вибрати його через різні селектори jQuery:
<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>
$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class
Якщо у вас є Asp.net HiddenField, вам потрібно:
Щоб отримати доступ до значення прихованого поля:
$('#<%=HF.ClientID%>').val() // HF = your hiddenfield ID
Щоб встановити HiddenFieldValue
$('#<%=HF.ClientID%>').val('some value') // HF = your hiddenfield ID
Слідкуйте, якщо ви хочете отримати булеве значення з прихованого поля!
Наприклад:
<input type="hidden" id="SomeBoolean" value="False"/>
(Вхід на зразок цього буде наданий ASP MVC, якщо ви використовуєте @Html.HiddenFor(m => m.SomeBoolean).)
Тоді наступне поверне рядок 'False', а не булевий JS!
var notABool = $('#SomeBoolean').val();
Якщо ви хочете використовувати булеву систему для певної логіки, скористайтеся наступним:
var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }
Найбільш універсальний спосіб - це взяти значення по імені. Не має значення, чи є його введення чи вибір типу елемента.
var value = $('[name="foo"]');