JQuery का उपयोग करके ड्रॉप-डाउन सूची (चयनित बॉक्स) से चयनित पाठ प्राप्त करें


2302

मैं jQuery में ड्रॉप-डाउन सूची से चयनित पाठ (चयनित मूल्य नहीं) कैसे प्राप्त कर सकता हूं ?


12
बस मेरे दो सेंट: एक "एएसपी" ड्रॉप-डाउन कोई विशेष नहीं है; यह सिर्फ अच्छा पुराना HTML है। :-)
अंकुश

कोई भी इस लेख को संदर्भित कर सकता है: javascriptstutorial.com/blog/…
दिलीप कुमार यादव

वेनिला जावास्क्रिप्ट तरीके के लिए, stackoverflow.com/a/5947/32453
rogerdpack

सिर्फ $ (यह) .प्रॉप ('चयनित', सत्य); .att to .prop को सभी ब्राउज़रों के लिए काम में लाया गया
शाहिद हुसैन अब्बासी

जवाबों:


3773
$("#yourdropdownid option:selected").text();

207
मुझे लगता है कि यह तब से होना चाहिए $("#yourdropdownid").children("option").filter(":selected").text()() वस्तु के चयनकर्ता से मेल खाता है या नहीं, इसका बूलियन देता है।
एमहोलिस

42
मैं दूसरे के बारे में टिप्पणी कर रहा हूँ () एक बुलेन लौट रहा है; वैकल्पिक रूप से, निम्न छोटे परिवर्तन का उपयोग करें: $ ('# yourdropdownid')। बच्चे ("विकल्प: चयनित")। पाठ ()।
स्क्रबो

25
@ DT3 ने is("selected").text()TypeError: Object false has no method 'text'
ianace

96
$('select').children(':selected')सबसे तेज़ तरीका है: jsperf.com/get-selected-option-text
साइमन

3
$ ("# IdSelect")। बच्चे ("विकल्प: चयनित")। पाठ ()
JD - DC TECH

266

इसे इस्तेमाल करे:

$("#myselect :selected").text();

ASP.NET ड्रॉपडाउन के लिए आप निम्न चयनकर्ता का उपयोग कर सकते हैं:

$("[id*='MyDropDownId'] :selected")

यहाँ ASP.NET संस्करण एकमात्र Jquery है जो मेरे लिए asp.net के साथ काम करता है, इसलिए मैं उस एक के लिए आश्वस्त हूं। यह एक: ( '$ ("# yourdropdownid ऑप्शन: सिलेक्टेड")। टेक्स्ट ();? एक asp.net पेज में मास्टर पेज का उपयोग करके काम नहीं किया।
netfed

5
यह काम नहीं करता क्योंकि asp.net मास्टर पृष्ठ चयनकर्ता के सामने यादृच्छिक वर्णों को फेंकता है। यह तकनीकी रूप से कुछ-कुछ खोज रहा है("#ct0001yourdropdownid)
CSharper


1
@CSharper - मुझे लगता है कि ASP.NET कह रहा है यादृच्छिक अक्षर फेंकता है बल्कि भ्रामक है। वे बिल्कुल भी यादृच्छिक नहीं हैं, वे संरचनात्मक हैं और सख्त नियमों का पालन करते हैं (जैसे कि आप IDअपने नियंत्रण पर रखते हैं, और यदि नहीं, तो वे पेड़ के वर्तमान स्तर में कहां हैं, आदि के सूचकांक के आधार पर, आदि। )
फ़्रीफ़ेलर

हाय, आप इसे टेबल रो / सेल के अंदर कैसे करते हैं, आप कैसे जानते हैं कि टेबल से कौन-सी ड्रॉपडाउन है, खासकर ASP MVC 5 में
ट्रांसफॉर्मर

215

उदाहरण के लिए, यहां पोस्ट किए गए उत्तर

$('#yourdropdownid option:selected').text();

मेरे लिए काम नहीं किया, लेकिन यह किया:

$('#yourdropdownid').find('option:selected').text();

यह संभवतः jQuery का एक पुराना संस्करण है।


7
इस जवाब पर नफरत मत करो। "खोज" कीवर्ड का उपयोग करके मेरे लिए चाल चली गई। मैं बिल्कुल अलग संदर्भ से आ रहा था।
ROFLwTIME

5
आपको विकल्प के भाग की आवश्यकता नहीं है क्योंकि इसका चयन चयनित के साथ किया गया है .. बस $ ('# yourdropdownid: चयनित') का उपयोग करके। पाठ ()। ठीक काम करेगा
Dss

jquery-1.10.2.min, यह एक मेरे लिए काम करता है, दूसरों के लिए नहीं।
कुबिलाय

लोकप्रिय उत्तर काम करता है, लेकिन मुझे चयन के लिए पहले से ही प्राप्त संदर्भ पर इसकी आवश्यकता थी, इसलिए मेरे लिए यह सबसे अच्छा उत्तर है
ग्राहम

102

यदि आपके पास पहले से ही एक संस्करण में लटकती सूची उपलब्ध है, तो यह मेरे लिए काम करता है:

$("option:selected", myVar).text()

इस प्रश्न के अन्य उत्तरों ने मेरी मदद की, लेकिन अंततः jQuery फोरम थ्रेड $ (यह + "विकल्प: चयनित")। Attr ("rel") चयनित विकल्प IE में काम नहीं कर रहा है

अद्यतन: उपरोक्त लिंक को ठीक किया


67

यह मेरे लिए काम करता है

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

यदि तत्व गतिशील रूप से बनाया गया है

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});


55

$("#DropDownID").val() चयनित सूचकांक मान देगा।


37
सवाल का जवाब बिल्कुल नहीं, लेकिन मेरे लिए उपयोगी था। प्रश्न चयनित पाठ चाहता है।
पीटर

54

यह मेरे लिए काम करता है:

$('#yourdropdownid').find('option:selected').text();

jQuery संस्करण: 1.9.1


3
यह मेरे लिए काम करता है, क्योंकि इस changeघटना पर मैं अब $(this).find('option:selected').text()पाठ प्राप्त करने के लिए उपयोग कर सकता हूं ।
तिमो ००२

$(this).children(':selected').text()काम भी करेगा। @ तिमो ००२
श्री माक

42

चयनित आइटम के पाठ के लिए, उपयोग करें:

$('select[name="thegivenname"] option:selected').text();

चयनित आइटम के मूल्य के लिए, का उपयोग करें:

$('select[name="thegivenname"] option:selected').val();

33

विभिन्न तरीके

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();

31
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});

यह वही है, जो मैं $(this) अपने अजाक्स कॉल के बाद उम्मीद कर रहा था
शांताराम तुपे

आप इसे JQuery ऑब्जेक्ट में लपेटे बिना $ ("विकल्प: चयनित", यह) .text () भी कर सकते हैं।
डग एफ

28

इसे इस्तेमाल करो

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

तो फिर आप अपने चयनित मान और पाठ के अंदर मिल selectedValueऔर selectedText


1
Upvoted क्योंकि यह jQuery का उपयोग नहीं करने का एकमात्र उत्तर है।
जस्टिन लेस्वर्ड

मुझे वेनिला js से प्यार है। इसके लिए बहुत - बहुत धन्यवाद।
एनरिक बरमूज

27
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

जो आपको सही दिशा पाने में मदद करेगा। उपरोक्त कोड का पूरी तरह से परीक्षण किया जाता है यदि आपको आगे की मदद की आवश्यकता हो तो मुझे बताएं।


19

उन लोगों के लिए जो SharePoint सूचियों का उपयोग कर रहे हैं और लंबे समय से निर्मित आईडी का उपयोग नहीं करना चाहते हैं, यह काम करेगा:

var e = $('select[title="IntenalFieldName"] option:selected').text();

17
 $("#selectID option:selected").text();

इसके बजाय #selectIDआप किसी भी jQuery चयनकर्ता का उपयोग कर सकते हैं, जैसे .selectClassकक्षा का उपयोग करना।

जैसा कि यहां प्रलेखन में उल्लेख किया गया है

: चयनित चयनकर्ता <विकल्प> तत्वों के लिए काम करता है। यह चेकबॉक्स या रेडियो इनपुट के लिए काम नहीं करता है; :checkedउनके लिए उपयोग करें।

.text () यहाँ प्रलेखन के अनुसार ।

मिलान तत्वों के सेट में प्रत्येक तत्व की संयुक्त पाठ सामग्री प्राप्त करें, जिसमें उनके वंशज भी शामिल हैं।

तो आप .text()विधि का उपयोग करके किसी भी HTML तत्व से पाठ ले सकते हैं ।

गहन स्पष्टीकरण के लिए प्रलेखन देखें।



13

चयनित मूल्य उपयोग के लिए

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

और चयनित आइटम टेक्स्ट के लिए इस लाइन का उपयोग करें:

$("#dropDownId option:selected").text();


11

ड्रॉपडाउन पर पाठ और चयनित मूल्य का चयन करें / jQuery में परिवर्तन घटना का चयन करें

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})

10

बस निम्नलिखित कोड का प्रयास करें।

var text= $('#yourslectbox').find(":selected").text();

यह चयनित विकल्प का पाठ लौटाता है।



9
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;

मैंने div को लॉग इन करने की कोशिश की var div = e.options[e.selectedIndex].text;, और यह केवल पहला विकल्प आइटम प्रदर्शित करता है। प्रत्येक आइटम को प्रदर्शित करने के लिए कैसे प्राप्त करें?
क्रिस 22

@ Chris22 इस लिंक का उल्लेख करें stackoverflow.com/questions/3923858/…
कलाइवानी एम

8

निम्नलिखित मेरे लिए काम किया:

$.trim($('#dropdownId option:selected').html())

1
नोट: बहु चयन के लिए इसका उपयोग न करें। यह केवल पहले चयनित मूल्य को पकड़ता है।
अधिकतम


7

भाई-बहन के मामले में

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()

7

$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>

आउटपुट स्क्रीन देखने के लिए क्लिक करें


हाय कैसे आप इस करते एक तालिका पंक्ति / सेल के अंदर , तुम कैसे जानते हो मेज से जो ड्रापडाउन की? मैं मूल्यों को लाने और आबाद करने के लिए एक अजाक्स कॉल करने की कोशिश कर रहा हूं, मैं इसे एक पेज में बाहर कर सकता हूं, लेकिन टेबल रो के अंदर नहीं ... क्या आप कृपया कुछ मदद जोड़ सकते हैं
ट्रांसफॉर्मर


4

यदि आप सूची के रूप में परिणाम चाहते हैं, तो उपयोग करें:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})

2
$("#dropdown").find(":selected").text();


$("#dropdown :selected").text();

$("#dropdown option:selected").text();

$("#dropdown").children(":selected").text();

बताते हैं कि क्यों काम करेगा
jwenting

2

इस कोड ने मेरे लिए काम किया।

$("#yourdropdownid").children("option").filter(":selected").text();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.