JQuery ব্যবহার করে একটি ড্রপডাউন নির্বাচিত সূচক সেট করুন


165

আমি নিয়ন্ত্রণটি যেভাবে খুঁজেছি তার উপায় নীচে থাকলে আমি কীভাবে jQuery এ একটি ড্রপডাউন সূচক সেট করব?

$("*[id$='" + originalId + "']") 

আমি এটি এইভাবে করি কারণ আমি গতিশীলভাবে নিয়ন্ত্রণগুলি তৈরি করছি এবং যেহেতু ওয়েব ফর্মগুলি ব্যবহার করার সময় আইডির পরিবর্তন করা হয়েছে, তাই আমাকে কিছু নিয়ন্ত্রণ পেতে এটি একটি কাজ হিসাবে পেয়েছি। তবে একবার আমার কাছে jQuery অবজেক্টটি থাকলে আমি নির্বাচিত সূচকটি 0 (শূন্য) এ সেট করতে জানি না।

উত্তর:


352

প্রথমত - যে নির্বাচক বেশ ধীর। এটি আইডিএস সন্ধান করে প্রতিটি ডিওএম উপাদান স্ক্যান করবে। আপনি যদি উপাদানটিকে কোনও শ্রেণি নির্ধারণ করতে পারেন তবে এটি কোনও পারফরম্যান্স হিট কম হবে।

$(".myselect")

আপনার প্রশ্নের উত্তর দেওয়ার জন্য, jQuery- এ নির্বাচিত উপাদানগুলির মান পরিবর্তন করার কয়েকটি উপায় রয়েছে

// sets selected index of a select box to the option with the value "0"
$("select#elem").val('0'); 

// sets selected index of a select box to the option with the value ""
$("select#elem").val(''); 

// sets selected index to first item using the DOM
$("select#elem")[0].selectedIndex = 0;

// sets selected index to first item using jQuery (can work on multiple elements)
$("select#elem").prop('selectedIndex', 0);

এটা করতে একটি ভাল উপায় আছে কি? আমি আইডির সাথে মেলে দেখতে পুরো ডিওএমটি স্ক্যান করবো তা বুঝতে পেরেছি, তবে যেহেতু আমি জিকুয়্যারিতে নতুনভাবে অনুভূত হয়েছি, আসুন এটি কাজ করে এবং তারপরে এটি করার আরও ভাল উপায় আছে কিনা তা দেখুন। কোন পরামর্শ প্রশংসা করা হবে।
ওজ

হ্যাঁ - আপনি যে উপাদানটির (স) আপনার সন্ধানের প্রয়োজন তা যদি কোনও শ্রেণি নির্ধারণ করতে পারেন তবে এটি আরও দ্রুত নির্বাচক হবে।
gnarf

@gnarf আইডি দ্রুত হয় না?
KBN

#an-idদ্রুত, তবে *[id$=ends-with]ধীরে ধীরে, "উপাদানকে একটি শ্রেণি নির্ধারণ করুন" এর অর্থ কী
gnarf

আমার যদি আলাদাভাবে নির্বাচিত সূচক মান সহ একাধিক ASP.net ড্রপডাউনলিস্ট থাকে তবে কীভাবে?
সার্চফোরকনলজ

106

এটি সবেমাত্র পাওয়া গেছে, এটি আমার পক্ষে কাজ করে এবং আমি ব্যক্তিগতভাবে এটি পড়া সহজ করি।

এটি gnarf এর উত্তর সংখ্যা 3 বিকল্পের মতো আসল সূচকটি সেট করবে।

// sets selected index of a select box the actual index of 0 
$("select#elem").attr('selectedIndex', 0);

এটি কাজ করতে ব্যবহৃত হয়নি তবে এখন ... বাগটি দেখুন: http://dev.jquery.com/ticket/1474

অভিযোজ্য বস্তু

মন্তব্যগুলিতে পরামর্শ হিসাবে ব্যবহার করুন:

$("select#elem").prop('selectedIndex', 0);


30
এবং jQuery 1.6 হিসাবে আপনার কাজ করা বা না .prop('selectedIndex', 0);নির্বিশেষে ব্যবহার করা উচিত .attr():)
gnarf

1
সঠিক, বাস্তবে এটি 1.7 এ কাজ করতে পারে না। : গৃহীত উত্তর দেখার stackoverflow.com/questions/8010664/...
4imble

সংযোজনের জন্য +1 এই সমস্যাটির কারণে আমার পুরাতন কোডটি ভেঙে গেছে
বিএল

11

আমি এই উত্তরটি 2015 সালে লিখছি, এবং কোনও কারণে (সম্ভবত jQuery এর পুরানো সংস্করণ) অন্য কোনও উত্তর আমার পক্ষে কাজ করেনি। আমার অর্থ, তারা নির্বাচিত সূচি পরিবর্তন করে তবে এটি প্রকৃত ড্রপডাউনটির প্রতিফলিত হয় না।

এখানে সূচক পরিবর্তন করার আরও একটি উপায় রয়েছে এবং এটি ড্রপডাউনে প্রকৃতপক্ষে প্রতিফলিত হয়েছে:

$('#mydropdown').val('first').change();

1
আপনার উত্তরের জন্য ধন্যবাদ. কেবলমাত্র এই উত্তরটি আমার জন্য কাজ করা হয়েছে
ভিরাজ ধমাল

এছাড়াও 2015 সালে, আমার prop('selectedIndex', ...);নির্বাচন (ক্রোম এবং ফায়ারফক্সের সাথে পরীক্ষিত) নির্বাচন পরিবর্তন করতে সমস্যা নেই ।
ল্যাম্বার্ট

2
কি এটা মূল্য জন্য, এটা যে তুমি এখানে বিভিন্ন করছেন একটি triggering হয় নির্দিষ্ট করা উচিত changeড্রপ-ডাউন, যা যারা কল করে নির্বাচন পরিবর্তন জন্য একটি দরকারী ফিক্স / কার্যসংক্রান্ত হতে পারে এর ইভেন্টে prop('selectedIndex', ...)বদলে val(...)। সম্ভবত সমস্যাটি হ'ল আপনি কোনও changeঅনুষ্ঠানের জন্য শুনছেন , এবং এটিই আপনার পক্ষে কাজ করছে না? এটি সত্য যে কেবল propভুলটি পরিবর্তন করা কোনও ঘটনাকেই আগুন জ্বালিয়ে দিচ্ছে না ...
ল্যাম্বার্ট

9

আমি ব্যাবহার করছি

$('#elem').val('xyz');

বিকল্পটি নির্বাচন করতে যাতে মান = 'xyz' থাকে


9

JQuery কোড:

$("#sel_status").prop('selectedIndex',1);

জেএসপি কোড:

Status:
<select name="sel_status"
    id="sel_status">
    <option value="1">-Status-</option>
    <option>ALL</option>
    <option>SENT</option>
    <option>RECEIVED</option>
    <option>DEACTIVE</option>
</select>

3

আপনি নির্বাচনের উপাদানটিতে প্রথম বিকল্পটির মানটি ধরতে চান।

$("*[id$='" + originalId + "']").val($("*[id$='" + originalId + "'] option:first").attr('value'));

3

2 য় বিকল্পটি নির্বাচন করতে

$('#your-select-box-id :nth-child(2)').prop('selected', true);

এখানে আমরা ইভেন্টটিকে আগুন জ্বালানোর জন্য `ট্রিগার ('পরিবর্তন') যুক্ত করি।

$('#your-select-box-id :nth-child(2)').prop('selected', true).trigger('change');

এটি একটি আরও ভাল উত্তর।
বেন দেহগান


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