jQuery নির্দিষ্ট বিকল্প ট্যাগ পাঠ্য পেতে


1234

ঠিক আছে, বলুন আমার কাছে এটি রয়েছে:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

নির্বাচক আমার দেখতে কেমন হবে যখন আমি 'অপশন বি' পেতে চাই যখন আমার '2' এর মান থাকবে?

দয়া করে নোট করুন যে এটি নির্বাচিত পাঠ্য মানটি কীভাবে পাবেন তা জিজ্ঞাসা করছে না, তবে মানটির গুণাবলীর উপর নির্ভর করে নির্বাচিত হোক বা না হোক কেবল তাদের মধ্যে যে কোনও একটি। আমি চেষ্টা করেছিলাম:

$("#list[value='2']").text();

কিন্তু এটা কাজ করছে না।


এই সময়ের জন্য, ব্যবহার করুন:$("#list option").filter(function () { return $(this).html() == "stuff"; }).val();
রুক

উত্তর:


1122

এটি আইডি সহ একটি উপাদান খুঁজছে listযার valueসমান সম্পত্তি রয়েছে 2
আপনি যা চান তা হ'ল optionসন্তানের সন্তান list:

$("#list option[value='2']").text()

4
এই নিকফের জন্য আপনাকে ধন্যবাদ। আপনি যদি গতিশীলভাবে মান পেতে চান তবে এই উত্তরটি এখানে প্রসারিত: var selectValue = document.getElementById ('list')। মান; var নির্বাচন অপশন = $ ("# তালিকার বিকল্প [মান =" + নির্বাচনের মূল্য + "]") পাঠ্য (); /// ভাল উদাহরণ নিকফ।
কেভিন ফ্লোরিডা

283
কেভিন, সেক্ষেত্রে আপনি এই উত্তরটির নিচে উত্তরটি ব্যবহার করতে পারেন। $('#list option:selected').text()
নিকফ

6
@ নিকফ এবং আরও সহজ,$('#list').val()
ডেরেক

36
@ ডেরেক, ভাল () বিকল্পটির পাঠ্য দেবে না, এটির মান দেবে, যা কিছু ক্ষেত্রে (অনেকের মধ্যে আমি বলতে সাহস করি) এক নয়।
itmequinn

আপনার সর্বদা ব্যবহার .trim()করা উচিত .text()যেহেতু কিছু ব্রাউজার ব্যবহারকারীর কাছে অদৃশ্য এমন পাঠ্যের আগে এবং পরে কিছু স্পেস যুক্ত করতে পারে তবে ভুল মূল্যবোধ পেতে পারে$("#list option[value='2']").text().trim()
হাসান আলামি

1262

আপনি যদি 2 টির মান সহ বিকল্পটি পেতে চান তবে ব্যবহার করুন

$("#list option[value='2']").text();

আপনি যদি বর্তমানে যেকোন বিকল্প চয়ন করতে চান তবে ব্যবহার করুন

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

11
পাঠ্যের পরিবর্তে মান পেতে, আপনাকে লিখতে হবে: - $ ("# তালিকা নির্বাচন করুন")। ভাল (); আমি জানি যে এটি জিজ্ঞাসা করা প্রশ্নের আসল উত্তর নয়, তবে গুগলের মাধ্যমে আগত নতুনদের জন্য এই পয়েন্টটি উল্লেখ করার কথা ভেবেছিল।
জ্ঞান উন্মাদনা

ATTR ( 'মান') আমি $ ( "# তালিকা বিকল্প:: নির্বাচিত") ব্যবহার টেক্সট () এবং $ ( "নির্বাচিত # টি তালিকা
fullstacklife

নির্বাচিত পাঠ্য পাওয়ার জন্য (যদিও প্রশ্নটি বিশেষভাবে এটি জানতে চাইেনি), নির্বাচিত মান কী তা না জানার কারণে এই পদ্ধতিটি উন্নত।
জার্ম্ম

132

এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে, আমি মাইএসকিউএল দ্বারা উত্পাদিত বিকল্পগুলি সহ দুটি পৃথক মান প্রেরণের একটি উপায় খুঁজছিলাম এবং নিম্নলিখিতটি জেনেরিক এবং গতিশীল:

$(this).find("option:selected").text();

যেমনটি একটি মন্তব্যে উল্লেখ করা হয়েছে। এটির সাহায্যে আমি একটি ডায়নামিক ফাংশন তৈরি করতে সক্ষম হয়েছি যা আমার সমস্ত নির্বাচন বাক্সের সাথে কাজ করে যা আমি উভয় মান, বিকল্প মান এবং পাঠ্য পেতে চাই।

কয়েক দিন আগে আমি লক্ষ্য করেছি যে আমি এই কোডটি ব্যবহার করেছি সাইটের ১.6 থেকে ১.৯ পর্যন্ত jQuery আপডেট করার সময়, এটি কাজ করা বন্ধ করে দেয় ... সম্ভবত অন্য কোনও কোডের সাথে বিরোধ ছিল ... যাইহোক, সমাধানটি বিকল্পটি অপসারণ করা ছিল (কল) সন্ধান করুন:

$(this).find(":selected").text();

এটি আমার সমাধান ছিল ... আপনার jQuery আপডেট করার পরে আপনার যদি কোনও সমস্যা হয় তবেই এটি ব্যবহার করুন।


2
ওয়েবস্টোরম ৮ অনুসারে এটি করা আরও কার্যকর উপায় বলে মনে করা হচ্ছে
ডিবিনট

2
যদিও এই উত্তরটি অন্তর্দৃষ্টিপূর্ণ এবং নাইটপিক করার জন্য আমার যে সমস্যাটি ছিল সে সম্পর্কে আমাকে সহায়তা করেছে, এটি সঠিকভাবে প্রশ্নের উত্তর দেয় না: দয়া করে নোট করুন যে এটি নির্বাচিত পাঠ্য মান কীভাবে পাবেন তা নয়, তবে তাদের মধ্যে যে কোনও একটি নির্বাচিত কিনা বা না, মান বৈশিষ্ট্যের উপর নির্ভর করে।
জেদীশোয়াগুই

109

পাওলো পোস্ট করা মূল HTML এর উপর ভিত্তি করে আমি নিম্নলিখিতগুলি নিয়ে এসেছি up

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

এটি ইন্টারনেট এক্সপ্লোরার এবং ফায়ারফক্সে কাজ করার জন্য পরীক্ষা করা হয়েছে।


11
এর বিকল্প হ'ল: $ ("বিকল্প: নির্বাচিত", এটি)। পাঠ্য ()
ডগ এস

এটি আরও ভাল উত্তর কারণ এটি কেবল স্থির এইচটিএমএল এবং সাধারণ জাভাস্ক্রিপ্ট ইভেন্টগুলিতে নয় জটিল পরিস্থিতিগুলির জন্য অ্যাকাউন্ট করে।
oasisfleeting

37
$("#list option:selected").each(function() {
   alert($(this).text());
});  

#listউপাদানটিতে একাধিক নির্বাচিত মানের জন্য ।


37
  1. পৃষ্ঠাটিতে যদি কেবলমাত্র একটি নির্বাচিত ট্যাগ থাকে তবে আপনি আইডি 'তালিকার' ভিতরে নির্বাচন নির্দিষ্ট করতে পারেন

    jQuery("select option[value=2]").text();
  2. নির্বাচিত পাঠ্য পেতে

    jQuery("select option:selected").text();

24

নিম্নলিখিত চেষ্টা করুন:

$("#list option[value=2]").text();

কারণ আপনার মূল স্নিপেট কাজ করছে না হয়, কারণ আপনার OPTIONট্যাগ আপনার কাছে সন্তান SELECTট্যাগ, যা হয়েছে id list


19

এটি একটি পুরানো প্রশ্ন যা কিছু সময় আপডেট করা হয়নি যা এখন এটি করার সঠিক উপায়টি ব্যবহার করা হবে

$("#action").on('change',function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

আশা করি এটা কাজে লাগবে :-)


এটি অবশ্যই সঠিক নয় দয়া করে মনে রাখবেন যে নির্বাচিত পাঠ্য মানটি কীভাবে পাবেন তা জিজ্ঞাসা করছেন না
ওয়েসলে স্মিথ

17

আমি নির্বাচিত লেবেল পেতে চেয়েছিলাম। এটি আমার জন্য jQuery 1.5.1 এ কাজ করেছে।

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

17
$(this).children(":selected").text()

দুর্ভাগ্যক্রমে, যখন আপনি optgroupআপনার সন্তানের হিসাবে ট্যাগ থাকবেন তখন এটি কাজ করে না selectএবং নির্বাচিত বিকল্পটি এতে থাকে optgroup$("#list option:selected").text();এমনকি এই ক্ষেত্রে কার্যকর হয় যা ব্যবহার করুন
মার্টিনএম

13
$("#list [value='2']").text();

আইডি নির্বাচক পরে একটি স্থান ছেড়ে দিন।


13

আপনি ফাংশন ব্যবহার করে নির্বাচিত বিকল্প পাঠ্য পেতে পারেন .text();

আপনি এইভাবে ফাংশনটি কল করতে পারেন:

jQuery("select option:selected").text();

10

একটি .each (ফাংশন () ...) দিয়ে গতিশীলভাবে নির্বাচিত উপাদানগুলির মাধ্যমে "লুপিং" করার সময়: $("option:selected").text();এবং $(this + " option:selected").text()নির্বাচিত বিকল্পের পাঠ্যটি ফেরত পাঠাননি - পরিবর্তে এটি বাতিল ছিল।

তবে পিটার মর্টেনসেনের সমাধান কাজ করেছে:

$(this).find("option:selected").text();

আমি জানি না কেন স্বাভাবিক উপায়টি .each()(সম্ভবত আমার নিজের ভুল) সফল হয় না , তবে আপনাকে ধন্যবাদ পিটার। আমি জানি যে এটি মূল প্রশ্ন ছিল না, তবে এটি "গুগলের মাধ্যমে আসা নবাগতদের জন্য" উল্লেখ করছি।

আমি $('#list option:selected").each()পাশাপাশি সিলেক্ট এলিমেন্টের জিনিসগুলি দখল করার প্রয়োজন বাদ দিয়ে শুরু করতাম।


8

ব্যবহার করুন:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});

5

আমি আইডির পরিবর্তে অভ্যন্তরীণ ক্ষেত্রের নাম অনুসারে ভাল হওয়ার সন্ধান করছিলাম এবং গুগল থেকে এই পোস্টে এসেছিলাম যা সাহায্য করে তবে আমার প্রয়োজনীয় সমাধানটি খুঁজে পেল না, তবে সমাধানটি পেয়েছি এবং এটি এখানে:

সুতরাং এটি কাউকে শেয়ারপয়েন্ট তালিকাগুলির জন্য লম্বা আইডি ব্যবহার না করে ক্ষেত্রের অভ্যন্তরীণ নামের সাথে নির্বাচিত মানটি খুঁজতে সহায়তা করতে পারে:

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

শক্তিশালী সমাধান. দুঃখিত এটি এখানে একটি গোপন জায়গায়। আপনি এই সমাধানটি সরবরাহ করার জন্য আরও বিশিষ্ট স্থান খুঁজতে চাইতে পারেন। আপনি নিজের একটি প্রশ্ন জিজ্ঞাসা এবং উত্তর দিতে পারে?
অ্যান্ড্রু কোজাক

4

আমি এই উত্তরের প্রয়োজন ছিলাম কারণ আমি একটি গতিশীল কাস্ট অবজেক্টের সাথে কাজ করছিলাম এবং অন্য অন্যান্য পদ্ধতিগুলি এখানে কাজ করছে বলে মনে হচ্ছে না:

element.options[element.selectedIndex].text

অবশ্যই এই ব্যবহার করে DOM অবজেক্ট পরিবর্তে nodeValue, childNodes, ইত্যাদি সঙ্গে তার এইচটিএমএল পার্স এর


4

একটি টিপ: আপনার মানটি গতিশীল হলে আপনি নীচের কোডটি ব্যবহার করতে পারেন:

$("#list option[value='"+aDynamicValue+"']").text();

বা (আরও ভাল স্টাইল)

$("#list option").filter(function() {
     return this.value === aDynamicValue;
}).text();

JQuery তে উল্লিখিত হিসাবে নির্দিষ্ট বিকল্প ট্যাগ পাঠ্য এবং মানকে গতিশীল পরিবর্তনশীল রাখুন



2

আমি একাধিক বাছাইয়ের জন্য একটি ডায়নামিক সংস্করণ চেয়েছিলাম যা ডানে কী নির্বাচন করা হয়েছে তা প্রদর্শন করবে (আশা করি আমি আগে পড়তে এবং দেখেছি $(this).find...):

<script type="text/javascript">
    $(document).ready(function(){
        $("select[showChoices]").each(function(){
            $(this).after("<span id='spn"+$(this).attr('id')+"' style='border:1px solid black;width:100px;float:left;white-space:nowrap;'>&nbsp;</span>");
            doShowSelected($(this).attr('id'));//shows initial selections
        }).change(function(){
            doShowSelected($(this).attr('id'));//as user makes new selections
        });
    });
    function doShowSelected(inId){
        var aryVals=$("#"+inId).val();
        var selText="";
        for(var i=0; i<aryVals.length; i++){
            var o="#"+inId+" option[value='"+aryVals[i]+"']";
            selText+=$(o).text()+"<br>";
        }
        $("#spn"+inId).html(selText);
    }
</script>
<select style="float:left;" multiple="true" id="mySelect" name="mySelect" showChoices="true">
    <option selected="selected" value=1>opt 1</option>
    <option selected="selected" value=2>opt 2</option>
    <option value=3>opt 3</option>
    <option value=4>opt 4</option>
</select>

2

আপনি নিম্নলিখিত উপায়গুলির মধ্যে একটি পেতে পারেন

$("#list").find('option').filter('[value=2]').text()

$("#list").find('option[value=2]').text()

$("#list").children('option[value=2]').text()

$("#list option[value='2']").text()

$(function(){    
    
    console.log($("#list").find('option').filter('[value=2]').text());
    console.log($("#list").find('option[value=2]').text());
    console.log($("#list").children('option[value=2]').text());
    console.log($("#list option[value='2']").text());
    
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.