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


443

मैं jQuery का उपयोग करके ड्रॉपडाउन बॉक्स का चयनित मूल्य कैसे प्राप्त कर सकता हूं?
मैंने प्रयोग करने की कोशिश की

var value = $('#dropDownId').val();

तथा

var value = $('select#dropDownId option:selected').val();

लेकिन दोनों एक खाली स्ट्रिंग लौटाते हैं।


3
उन दोनों को काम करना चाहिए। समस्या कहीं और होनी चाहिए (जैसे कि एक $(document).ready(...ब्लॉक में लिपटा कोड ?)
karim79

4
var value = $('#dropDownId:selected').val();
चींटी

2
नहींं - $('#dropDownId').val();चयनित मान प्राप्त करने का सबसे संक्षिप्त तरीका है।
करीम

1
@ श्यामा आपको इस कथन में चयन की आवश्यकता नहीं है क्योंकि दस्तावेज के लिए आईडी अद्वितीय हैं, आपको कक्षाओं का उल्लेख करते समय केवल टैग नाम का उपयोग करना चाहिए select#dropDownId option:selected,
चींटी

जवाबों:


840

एकल चयनित डोम तत्वों के लिए, वर्तमान में चयनित मूल्य पाने के लिए:

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

वर्तमान में चयनित पाठ प्राप्त करने के लिए:

$('#dropDownId :selected').text();

11
आपको पहले एक स्थान की आवश्यकता है :selected
प्रातः

53
चयनित विकल्प का पाठ पाने का सबसे तेज़ तरीका है:$("#dropDownId").children("option").filter(":selected").text()
रिकार्डन

3
काश आपने संदर्भ .val().text()
जोड़े

8
रिचर्ड, आपका कोड बहुत लंबा है ... यह पठनीयता के लिए और अधिक संक्षिप्त हो सकता है
सकारात्मक

2
@ JamesM.Lay एक DOM संदर्भ एक चर में संग्रहीत? फिर उपयोग करेंjQuery(domVariable).val()
एलन लिनाटोक

57
var value = $('#dropDownId:selected').text()

ठीक काम करना चाहिए, इस उदाहरण को देखें:

$(document).ready(function(){ 
  $('#button1').click(function(){ 
    alert($('#combo :selected').text());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />


4
"वैल्यू" वह है जो सबसे अधिक कोडर्स को याद करता है, जबकि एलिमेंट क्वैड की घोषणा करते हुए पाठ को वापस लौटाता है
Asad


22

इस jQuery का प्रयास करें,

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

या यह जावास्क्रिप्ट,

 var selID=document.getElementById("ddlid");
 var text=selID.options[selID.selectedIndex].text;

यदि आपको पाठ तक मान का उपयोग करने की आवश्यकता है और पाठ की नहीं, तो val()इसके बजाय विधि का उपयोग करने का प्रयास करें text()

नीचे दिए गए फिडेल लिंक देखें।

डेमो 1 | demo2


14

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

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

ओपी चयनित मूल्य के लिए पूछ रहा है। इस उत्तर से ड्रॉप डाउन की पाठ्य सामग्री मिल जाएगी। गलत नहीं, सिर्फ वही नहीं जो वह मांग रहा था।
जोशुआ डांस

12

मुझे पता है कि यह एक बहुत पुरानी पोस्ट है और मुझे इस दयनीय पुनरुत्थान के लिए संभवत: भड़काया जाना चाहिए, लेकिन मैंने सोचा कि मैं बहुत ही उपयोगी जेएस स्निपेट्स के एक जोड़े को साझा करूंगा जो मैं अपने शस्त्रागार में हर एप्लिकेशन का उपयोग करता हूं ...

यदि टाइप हो रहा है:

$("#selector option:selected").val() // or
$("#selector option:selected").text()

बूढ़ा हो रहा है, इन छोटे crumpets को अपनी वैश्विक *.jsफ़ाइल में जोड़ने का प्रयास करें :

function soval(a) {
    return $('option:selected', a).val();
}
function sotext(a) {
    return $('option:selected', a).text();
}

और सिर्फ लिखें soval("#selector");या sotext("#selector");इसके बजाय! दो के संयोजन और युक्त दोनों एक वस्तु वापस लौट कर भी अधिक सजावटी जाओ valueऔर text!

function so(a) {
    my.value = $('option:selected', a).val();
    my.text  = $('option:selected', a).text();
    return my;
}

यह मुझे एक टन कीमती समय बचाता है, खासकर फॉर्म-हेवी एप्लिकेशन पर!


9

यह चयनित मान को सचेत करेगा। JQuery कोड ...

$(document).ready(function () {

        $("#myDropDown").change(function (event) {
            alert("You have Selected  :: "+$(this).val());
        });
    });

HTML कोड...

<select id="myDropDown">
        <option>Milk</option>
        <option>Egg</option>
        <option>Bread</option>
        <option>Fruits</option>
    </select>


8

अभी तक एक और परीक्षण किया गया उदाहरण:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
    $('#bonus').change(function() {
    alert($("#bonus option:selected").text());
  });  
});
</script>
</head>

<body>
<select id="bonus">
<option value="1">-$5000</option>
<option value="2">-$2500</option>
<option value="3">$0</option>
<option value="4">$1</option>
<option value="5">We really appreciate your work</option>
</select>
</body>
</html>

4

यह कोशिश करो, यह मूल्य प्राप्त करता है:

$('select#myField').find('option:selected').val();


3

क्या आपने अपने सेलेक्ट-एलिमेंट को आईडी से सप्लाई किया था?

<select id='dropDownId'> ...

आपका पहला बयान काम करना चाहिए!


3

चयनित पाठ उपयोग के लिए:

value: $('#dropDownId :selected').text();

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

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

2

idकि में नियंत्रण नीचे अपनी बूंद के लिए उत्पन्न हो गया htmlएक गतिशील हो जाएगा। इसलिए पूरी आईडी का उपयोग करें $('ct100_<Your control id>').val().यह काम करेगा।


2

या यदि आप कोशिश करेंगे:

$("#foo").find("select[name=bar]").val();

मैंने आज इसका इस्तेमाल किया और यह ठीक काम कर रहा है।


2

उपयोग

$('#dropDownId').find('option:selected').val()

यह काम करना चाहिए :)


2

ड्रॉप डाउन से जक्वेरी मूल्य प्राप्त करने के लिए आप बस नीचे भेजे गए फ़ंक्शन का उपयोग करें idऔर चयनित मूल्य प्राप्त करें:

function getValue(id){
    var value = "";
    if($('#'+id)[0]!=undefined && $('#'+id)[0]!=null){
        for(var i=0;i<$('#'+id)[0].length;i++){
            if($('#'+id)[0][i].selected == true){
                if(value != ""){
                    value = value + ", ";
                }
                value = value + $('#'+id)[0][i].innerText;
            }
        }
    }
    return value;
}

यह करने का कठिन तरीका है, लेकिन जो भी काम करता है।
MC9000

2

	function fundrp(){
	var text_value = $("#drpboxid option:selected").text();  
	console.log(text_value);
	var val_text = $("#drpboxid option:selected").val();  
	console.log(val_text);
	var value_text = $("#drpboxid option:selected").attr("vlaue") ;
	console.log(value_text);
	var get_att_value = $("#drpboxid option:selected").attr("id") 
	console.log(get_att_value);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<select id="drpboxid">
	<option id="1_one" vlaue="one">one</option>
	<option id="2_two" vlaue="two">two</option>
	<option id="3_three" vlaue="three">three</option>              
</select>
<button id="btndrp" onclick="fundrp()">Tracking Report1234</button>


1

मुझे पता है कि यह पुराना है, लेकिन मैं इसे अधिक अद्यतित उत्तर के साथ अद्यतन करता हूं

$( document ).on( 'change', '#combo', function () {
var prepMin= $("#combo option:selected").val();
 alert(prepMin);
});

आशा है कि ये आपकी मदद करेगा



1

इनमें से किसी भी कोड का उपयोग करें

$('#dropDownId :selected').text();

या

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



1

आप निम्न कोड का उपयोग करके ऐसा कर सकते हैं।

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

यदि आप चयनित सूची के विकल्पों से चयनित मूल्य प्राप्त करना चाहते हैं। यह चाल चलेगा।

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

0

आप इनमें से किसी का भी उपयोग कर सकते हैं:

$(document).on('change', 'select#dropDownId', function(){

            var value = $('select#dropDownId option:selected').text();

            //OR

            var value = $(this).val();

});


0

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

 $('#dropDownId option').filter(':selected').text();     

 $('#dropDownId option').filter(':selected').val();

0

पृष्ठ लोड पर चयनित मान प्राप्त करने के लिए नीचे दी गई विधि का उपयोग करें:

$(document).ready(function () {
$('#ddlid').on('change', function () {
                var value = $('#ddlid :selected').text();
                alert(value);`
            });
});

0

यदि आपके पास एक से अधिक ड्रॉपडाउन का प्रयास है:

HTML:

<select id="dropdown1" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>
<select id="dropdown2" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>

जावास्क्रिप्ट:

    function myFunction(sel) {
        var selected = sel.value;
    }

0

HTML:

<select class="form-control" id="SecondSelect">
       <option>5<option>
       <option>10<option>
       <option>20<option>
       <option>30<option>
</select>

जावास्क्रिप्ट:

var value = $('#SecondSelect')[0].value;

कृपया यह बताएं कि यह समस्या कैसे और क्यों हल करती है, इससे वास्तव में आपके पोस्ट की गुणवत्ता को बेहतर बनाने में मदद मिलेगी, और संभवत: अधिक वोट मिले।
Android

-1
$("#dropDownId").val('2');
var SelectedValue= $("#dropDownId option:selected").text();
$(".ParentClass .select-value").html(SelectedValue);


<p class="inline-large-label button-height ParentClass" >
     <label for="large-label-2" class="label">Country <span style="color: Red;">*</span><small></small></label>
     <asp:DropDownList runat="server" ID="dropDownId " CssClass="select" Width="200px">          
    </asp:DropDownList>
</p>

-1

यह आपके लिए काम करना चाहिए

  $("#dropDownId").on('change',function(){
     var value=$(this).val();
     alert(value);
  });

क्या होगा यदि आपके ड्रॉपडाउन विकल्प को प्रोग्राम के रूप में चयनित किया गया था (जैसे कि एक अजाक्स अनुरोध से जो ड्रॉपडाउन को पॉप्युलेट करता है)? यदि आप .val () प्राप्त करने का प्रयास करते हैं, तो आपको मूल्य के लिए अशक्त मिलेगा (भले ही स्रोत का निरीक्षण करने से आपको पता चले कि विकल्प वास्तव में चयनित है)! $ ("myDD विकल्प: चयनित")। वैल () अपरिभाषित निकलेगा।
MC9000
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.