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
चेतावनी ($ ( 'इनपुट [प्रकार = छिपा] #foo') वैल ()।); यह आईडी फ़ू के साथ छिपे हुए चर को ढूंढता है। यह खोज अधिक विशिष्ट है।
मोहम्मद रफीक

6
@MohammedRafeeq अलर्ट ($ ('# foo')। Val ()); के रूप में विशिष्ट है। क्योंकि DOM में एक id अनोखी होती है। अगर यह HTML मानकों का पालन करता है, तो हमेशा यह सिर्फ एक तत्व मिलेगा। जब तक आप तत्व को छिपाने के लिए जाँचने के लिए कथन का उपयोग करते हैं या नहीं।
एडविन स्टेलर

1
क्या तेज है? $ ('# foo') या $ ('इनपुट: हिडन # फू')? मुझे दूसरी खोज पर संदेह है क्योंकि अधिक जानकारी दी गई है लेकिन यह सुनिश्चित नहीं है कि इसे कैसे लागू किया गया है, इसलिए यह नहीं पता कि क्या मेरी भावना सही है। संपादित करें: ठीक है, मेरे पास हाबेल टिप्पणी के लिए मेरा उत्तर है, केवल आईडी, यानी #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
ध्यान दें कि यह उन तत्वों से भी मेल खाएगा जिनका कोई सीएसएस प्रदर्शन मूल्य नहीं है, ऐसे तत्व जिनकी चौड़ाई और ऊँचाई 0 पर सेट है, और ऐसे तत्व जिनके पास एक छिपा पूर्वज है ( api.jquery.com/hidden-selector )
डैनियल लिउज़ी


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

इनपुट छिपा हुआ एक शैली वर्ग की संपत्ति नहीं है
फिलिप पुथेनविला

3

यदि आपके पास एक asp.net हिडनफिल्ड है, तो आपको इसकी आवश्यकता है:

हिडनफिल्ड मान तक पहुँचने के लिए:

$('#<%=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', जेएस बूलियन नहीं!

var notABool = $('#SomeBoolean').val();

यदि आप कुछ तर्क के लिए बूलियन का उपयोग करना चाहते हैं, तो इसके बजाय निम्नलिखित का उपयोग करें:

var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }

-1

सबसे सार्वभौमिक तरीका नाम से मूल्य लेना है। इससे कोई फर्क नहीं पड़ता कि इसका इनपुट या फॉर्म एलिमेंट टाइप चुनें।

var value = $('[name="foo"]');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.