Antworten:
Sie können val()
wie bei jedem anderen Eingabeelement auf die Werte ausgeblendeter Felder zugreifen :
<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());
Diese bedeuten in diesem Beispiel alle dasselbe.
Dafür gibt es einen jQuery-Selektor:
// 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' );
Gibt Ihnen alle versteckten Eingabefelder und filtert nach denen mit einem bestimmten type=""
.
Der effizienteste Weg ist die ID.
$("#foo").val(); //by id
Hier können Sie mehr lesen:
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
Verwenden Sie:
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
var valueOfHidFiled=$(this).val();
alert(valueOfHidFiled);
}
});
oder:
var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);
Verwenden Sie zum Festlegen des Werts:
$('input[type=hidden]').attr('value',newValue);
Es gibt nichts Besonderes an <input type="hidden">
:
$('input[type="hidden"]').val()
Wenn Sie ein einzelnes verstecktes Feld auswählen möchten, können Sie es über die verschiedenen Selektoren von jQuery auswählen:
<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>
$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class
Wenn Sie ein asp.net HiddenField haben, müssen Sie:
So greifen Sie auf den HiddenField-Wert zu:
$('#<%=HF.ClientID%>').val() // HF = your hiddenfield ID
So legen Sie HiddenFieldValue fest
$('#<%=HF.ClientID%>').val('some value') // HF = your hiddenfield ID
Achten Sie darauf, ob Sie einen booleschen Wert aus einem versteckten Feld abrufen möchten!
Beispielsweise:
<input type="hidden" id="SomeBoolean" value="False"/>
(Eine solche Eingabe wird von ASP MVC gerendert, wenn Sie sie verwenden @Html.HiddenFor(m => m.SomeBoolean)
.)
Dann gibt das Folgende einen String zurück 'False'
, keinen JS-Booleschen!
var notABool = $('#SomeBoolean').val();
Wenn Sie den Booleschen Wert für eine Logik verwenden möchten, verwenden Sie stattdessen Folgendes:
var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }
Der universellste Weg ist, Wert mit Namen zu nehmen. Es spielt keine Rolle, ob die Eingabe oder der Formularelementtyp ausgewählt wird.
var value = $('[name="foo"]');