jQuery का चयन करें और HTML चयनित तत्व के चयनित विकल्प मान सेट करें


126

मैं jQuery के साथ चुनिंदा तत्व (ड्रॉप डाउन सूची) के चयनित मान को पुनः प्राप्त करने और सेट करने का प्रयास कर रहा हूं।

पुनः प्राप्त करने के लिए मैंने कोशिश की है $("#myId").find(':selected').val(), साथ ही साथ $("#myId").val()दोनों अनिर्धारित भी हैं।

इस समस्या में किसी भी अंतर्दृष्टि बहुत सराहना की जाएगी।


यदि आपके एस्प .net का उपयोग कर रहे हैं, तो वे एक ही बार प्रदान नहीं कर सकते हैं!
रिगोबर्ट सॉन्ग

जवाबों:


154

आपके पास इसका तरीका फिलहाल सही है। या तो चयन की आईडी वह नहीं है जो आप कहते हैं या डोम में आपके कुछ मुद्दे हैं।

तत्व की आईडी की जांच करें और अपने मार्कअप की जांच भी करें करें और W3c ।

एक वैध डोम jQuery के बिना चयनकर्ताओं के साथ सही ढंग से काम नहीं कर सकता।

यदि आईडी सही है और आपका डोम मान्य है तो निम्नलिखित लागू होते हैं:

विकल्प मान का चयन करने के लिए पढ़ें

$('#selectId').val();

विकल्प मान सेट करने के लिए

$('#selectId').val('newValue');

चयनित पाठ पढ़ने के लिए

$('#selectId>option:selected').text();

@ Html.DropDownList ("CoinTypes", (SelectList) ViewBag.RequiredLevel, नया {@class = "फ़ॉर्म-नियंत्रण", @ शैली = "ऊंचाई: 21px; मार्जिन-टॉप: 5px;"}) लेकिन $ ('# CoinTypeses) ') .val (@ ViewBag.CoinType); का चयन नहीं कर रहा है
नितिन पॉल

@NithinPaul वास्तव में एक टिप्पणी नहीं है, एक प्रश्न पूछें जो HTML दिखाता है ताकि कोई वास्तव में कोशिश कर सके और गलत काम कर सके। निश्चित नहीं है कि आप किसी से यह उम्मीद कर सकते हैं कि यह कुछ वेबफॉर्म / एमएक्स कोड से कैसे काम करेगा!
redsquare

248

चयनित तत्व उपयोग की वास्तविक चयनित आय संपत्ति प्राप्त / सेट करने के लिए:

$("#select-id").prop("selectedIndex");

$("#select-id").prop("selectedIndex",1);

19
यह ध्यान रखना महत्वपूर्ण है कि प्रोप () सुविधा संस्करण 1.6 में लागू की गई थी, इसलिए पूर्व संस्करणों में यह कार्यक्षमता नहीं है।
रॉब

18
मुझे यह उत्तर पसंद है क्योंकि यह वास्तव में सूचकांक तक पहुंचने के सवाल का जवाब देता है, न कि केवल मूल्य का।
पाब्लो डियाज

4
हाँ। मुझे लगा कि यह मूल प्रश्न था।
जैक होल

तुम भी एक ही वाक्यविन्यास के साथ attr का उपयोग करें और ठीक हो सकता है।
यित्ज़ाक

7
@ M.YitzhakSamuel .attr()और .prop()पर्यायवाची नहीं हैं। यह कुछ ऐसे उदाहरणों में काम करेगा जहां एक गुण भी एक संपत्ति है, उदाहरण के .attr('id')लिए समान है .prop('id')। इस उदाहरण में, .prop('selectedIndex')के बराबर है .get(0).selectedIndex
WynandB

7

$('#myId').val() यह करना चाहिए, असफल कि मैं कोशिश करेंगे:

$('#myId option:selected').val()

4

जब सेट करते हैं JQM, तो अपडेट करना न भूलें UI:

$('#selectId').val('newValue').selectmenu('refresh', true);

इस डली के लिए धन्यवाद - सोच रहा था कि चयनित मूल्य को $ ("# स्लॉट-पसंद") के साथ बदलने के बाद स्क्रीन पर नया मूल्य क्यों नहीं दिखा।
सामिक आर


1

मान लीजिए कि आपने सेलेक्ट टैग का उपयोग करके एक ड्रॉप डाउन सूची बनाई है, जैसे कि,

<select id="Country">

अब यदि आप यह देखना चाहते हैं कि JQuery का उपयोग करने के बाद ड्रॉप डाउन से चयनित मूल्य क्या है, तो उस मान को पुनः प्राप्त करने के लिए केवल निम्नलिखित लाइन लगाएं।

var result= $("#Country option:selected").text();

यह ठीक काम करेगा।


0

मुझे पता है कि यह पुराना है, लेकिन मेरे पास रेजर के साथ एक समय का एक भालू था, मुझे यह काम करने के लिए नहीं मिला, चाहे मैंने कितनी भी कोशिश की हो। अगर मैं "पाठ" या "html" का उपयोग करने के लिए "अपरिभाषित" के रूप में वापस आ रहा हूं, तो विशेषता के लिए नहीं। अंत में मैंने विकल्प में "डेटा-वैल्यू" विशेषता जोड़ी और यह पढ़ा कि बस ठीक है।

 <option value="1" data-value="MyText">MyText</option>

 var DisplayText = $(this).find("option:selected").attr("data-value");

0

$ ("#myId विकल्प: चयनित") .text (); आपको वह पाठ देगा जो आपने ड्रॉप डाउन तत्व में चुना था। किसी भी तरह से आप इसे .val () में बदल सकते हैं; इसका मूल्य प्राप्त करना। नीचे कोडिंग की जाँच करें

<select id="myId">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>`
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.