jQuery মান দ্বারা বিকল্প বিকল্প নির্বাচন করুন


89

আমার কাছে একটি স্প্যান উপাদান দ্বারা মোড়ানো একটি নির্বাচন উপাদান রয়েছে। আমাকে সিলেক্ট আইডি ব্যবহার করার অনুমতি নেই তবে স্প্যান আইডি ব্যবহারের অনুমতি দেওয়া হচ্ছে। আমি একটি জাভাস্ক্রিপ্ট / jquery ফাংশন লিখতে চেষ্টা করছি যাতে ইনপুটটি একটি নম্বর i, যা নির্বাচনের বিকল্পগুলির মানগুলির মধ্যে একটি। ফাংশনটি প্রাসঙ্গিক বিকল্পটিকে নির্বাচিত করে তুলবে।

<span id="span_id">
    <select id="h273yrjdfhgsfyiruwyiywer" multiple="multiple">
        <option value="1">cleaning</option>
        <option value="2">food-2</option>
        <option value="3">toilet</option>
        <option value="4">baby</option>
        <option value="6">knick-knacks</option>
        <option value="9">junk-2</option>
        <option value="10">cosmetics</option>
    </select>
</span>

আমি নীচে কিছু লিখেছি (এটি সম্পূর্ণরূপে কাজ করে না, এ কারণেই আমি এই প্রশ্নটি পোস্ট করছি):

function select_option(i) {

    options = $('#span_id').children('select').children('option');
    //alert(options.length); //7
    //alert(options[0]); //[object HTMLOptionElement]
    //alert(options[0].val()); //not a jquery element
    //alert(options[0].value); //1

    //the following does not seem to work since the elements of options are DOM ones not jquery's
    option = options.find("[value='" + i + "']");
    //alert(option.attr("value")); //undefined
    option.attr('selected', 'selected');

}

ধন্যবাদ!

উত্তর:


150

স্পষ্ট নির্বাচক সহ এখানে সহজ সমাধান:

function select_option(i) {
  return $('span#span_id select option[value="' + i + '"]').html();
}

35

JQuery এর সাথে> 1.6.1 এই সিনট্যাক্সটি ব্যবহার করা আরও ভাল হওয়া উচিত:

$('#span_id select option[value="' + some_value + '"]').prop('selected', true);

29

আপনি যেভাবে চান তেমনভাবে এটি তৈরি করতে কেবল আপনার বিকল্পটি $ (বিকল্প) এ মোড়ানো করুন। আপনি কোডটি ছোট করেও করতে পারেন

$('#span_id > select > option[value="input your i here"]').attr("selected", "selected")


6

নিম্নলিখিতটিগুলির মতো মানটি নির্বাচন করতে আপনি .val () ব্যবহার করতে পারেন:

function select_option(i) {
    $("#span_id select").val(i);
}

এখানে একটি jsfiddle: https://jsfiddle.net/tweissin/uscq42xh/8/


কোন ব্রাউজার / প্ল্যাটফর্মে এটি আপনার পক্ষে কাজ করে না? ম্যাক / ক্রোমে, এটি সফলভাবে তালিকার একটি আইটেম নির্বাচন করে, যা মূল প্রশ্নটি হুবহু।
tom

@ মিঃল্লামা, আপনি প্রশ্নটি ভুল বুঝে থাকতে পারেন। @ টমের কোড যা চাওয়া হয়েছিল তা করে: একটি মান দেওয়া হলে i, এর মধ্যে আইথটি নির্বাচন optionকরুন select। অপশনগুলি ফিল্টার করার চেষ্টা করছে না ওপি।
পল

4

মান পেতে কেবল এটি ব্যবহার করুন:

<select id ="ari_select" onchange = "getvalue()">
<option value = "1"></option>
<option value = "2"></option>
<option value = "3"></option>
<option value = "4"></option>
</select>

<script>
function getvalue()
{
    alert($("#ari_select option:selected").val()); 
}
</script>

এটি মানগুলি আনবে


1
function select_option(index)
{
    var optwewant;
    for (opts in $('#span_id').children('select'))
    {
        if (opts.value() = index)
        {
            optwewant = opts;
            break;
        }
    }
    alert (optwewant);
}

ধন্যবাদ! JQuery এর অভ্যন্তরীণ বাস্তবায়ন কী তা আমি জানি না, তবে অন্যান্য সমাধানগুলি আরও সহজ দেখায়।
আবিষ্ট

আপনার যদি ইতিমধ্যে jQuery থাকে তবে এটি সহজ but
হোগান

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