jQueryのアクセス入力の非表示の値


回答:


347

非表示フィールドの値には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());

この例では、これらはすべて同じことを意味します。


11
alert($( 'input [type = hidden] #foo')。val()); これにより、ID fooの隠し変数が見つかります。この検索はより具体的です。
Mohammed Rafeeq 2014年

6
@MohammedRafeeq alert($( '#foo')。val()); まったく同じです。IDはDOM内で一意であるためです。したがって、htmlが標準に準拠している場合は、常に1つの要素のみが検出されます。ステートメントを使用して要素が非表示かどうかを確認する場合を除きます。
Edwin Stoteler、2015

1
何が速いですか?$( '#foo')または$( 'input:hidden#foo')?より多くの検索情報が与えられているので、私は2番目を疑っていますが、それがどのように実装されているかは不明なので、私の気持ちが正しいかどうかわかりません。編集:わかりましたAbelコメントのおかげで私の答えがあります、idのみ、つまり#fooの方が高速です。
コント

15

そのための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=""ます。


2
これは、CSS表示値がnoneの要素、幅と高さが0に設定されている要素、および非表示の祖先を持つ要素(api.jquery.com/hidden-selector)にも一致することに注意してください
Daniel Liuzzi


6

値を取得するには、以下を使用します。

$.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);


3

個別の非表示フィールドを選択する場合は、jQueryのさまざまなセレクターを使用して選択できます。

<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/> 


$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class

非表示の入力にはスタイルクラスプロパティがありません
Philip Puthenvila '28

3

asp.net HiddenFieldがある場合は、次のことを行う必要があります。

HiddenField値にアクセスするには:

$('#<%=HF.ClientID%>').val()  // HF = your hiddenfield ID

HiddenFieldValueを設定するには

$('#<%=HF.ClientID%>').val('some value')   // HF = your hiddenfield ID

1

非表示フィールドからブール値を取得する場合は注意してください。

例えば:

<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) { /* ...*/ }

-1

最も一般的な方法は、名前で値を取ることです。その入力またはフォーム要素タイプの選択は関係ありません。

var value = $('[name="foo"]');
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.