এটি করার বিভিন্ন উপায় রয়েছে তবে শীর্ষস্থানীয় উত্তর এবং বিতর্ককে বোঝার মধ্যে সবচেয়ে পরিষ্কার পদ্ধতিটি হারিয়ে গেছে val()। এছাড়াও কিছু পদ্ধতি jQuery 1.6 হিসাবে পরিবর্তিত হয়েছে, সুতরাং এটির একটি আপডেট দরকার।
নিম্নলিখিত উদাহরণগুলির জন্য আমি ভেরিয়েবলটি ধরে নেব $selectএকটি পছন্দসই <select>ট্যাগটিতে নির্দেশিত একটি jQuery অবজেক্ট , যেমন নীচের মাধ্যমে:
var $select = $('.selDiv .opts');
দ্রষ্টব্য 1 - মান মিলের জন্য ভাল () ব্যবহার করুন:
মান মেলানোর জন্য, val()কোনও গুণাবলী নির্বাচনকারী ব্যবহারকারীর চেয়ে ব্যবহার আরও সহজ: https://jsfiddle.net/yz7tu49b/6/
$select.val("SEL2");
সেটার সংস্করণটি একই সাথে একটি মিলের সম্পত্তি সেট .val()করে selectট্যাগগুলিতে প্রয়োগ করা হয় , সুতরাং সমস্ত আধুনিক ব্রাউজারগুলিতে ঠিক কাজ করে।selectedoptionvalue
নোট 2 - প্রপ ব্যবহার করুন ('নির্বাচিত', সত্য):
আপনি যদি সরাসরি কোনও বিকল্পের নির্বাচিত স্থিতি সেট করতে চান তবে আপনি পরামিতি (পাঠ্যের মানের চেয়ে ) দিয়ে prop(না attr) ব্যবহার করতে পারেন :booleanselected
যেমন https://jsfiddle.net/yz7tu49b/
$option.prop('selected', true); // Will add selected="selected" to the tag
নোট 3 - অজানা মানগুলির জন্য অনুমতি দিন:
যদি আপনি val()একটি নির্বাচন করতে ব্যবহার করেন <option>তবে ভালটি মিলছে না (মানগুলির উত্সের উপর নির্ভর করে ঘটতে পারে), তবে "কিছুই" নির্বাচিত হয়নি এবং $select.val()ফিরে আসবে null।
সুতরাং, উদাহরণ হিসাবে দেখানো হয়েছে এবং দৃ rob়তার জন্য আপনি এই জাতীয় https://jsfiddle.net/1250Ldqn/ এর মতো কিছু ব্যবহার করতে পারেন :
var $select = $('.selDiv .opts');
$select.val("SEL2");
if ($select.val() == null) {
$select.val("DEFAULT");
}
নোট 4 - সঠিক পাঠ্য মিল:
আপনি যদি সঠিক পাঠ্যের সাথে মিল করতে চান তবে আপনি একটি filterফাংশন সহ ব্যবহার করতে পারেন । যেমন https://jsfiddle.net/yz7tu49b/2/ :
var $select = $('.selDiv .opts');
$select.children().filter(function(){
return this.text == "Selection 2";
}).prop('selected', true);
যদিও আপনার যদি অতিরিক্ত সাদা জায়গা থাকতে পারে তবে আপনি চেক হিসাবে একটি ট্রিম যোগ করতে চাইতে পারেন
return $.trim(this.text) == "some value to match";
নোট 5 - সূচী অনুসারে ম্যাচ
আপনি যদি সূচক অনুসারে মেলতে চান তবে বাছাই করা বাচ্চাদের উদাহরণস্বরূপ https://jsfiddle.net/yz7tu49b/3/
var $select = $('.selDiv .opts');
var index = 2;
$select.children()[index].selected = true;
যদিও আমি আজকাল jQuery এর পক্ষে, ভবিষ্যতের প্রুফ কোডের পক্ষে সরাসরি DOM বৈশিষ্ট্যগুলি এড়াতে চাইছি, যাতে এটি https://jsfiddle.net/yz7tu49b/5/ হিসাবেও করা যায় :
var $select = $('.selDiv .opts');
var index = 2;
$select.children().eq(index).prop('selected', true);
নোট 6 - নতুন নির্বাচনটি ফায়ার করতে পরিবর্তন () ব্যবহার করুন
উপরের সমস্ত ক্ষেত্রে, পরিবর্তন ইভেন্টটি আগুন দেয় না। এটি এমন নকশার মাধ্যমে যাতে আপনি পুনরাবৃত্ত পরিবর্তনের ইভেন্টগুলি না হারিয়ে যান।
পরিবর্তন ইভেন্টটি তৈরি করতে, প্রয়োজন হলে, .change()jQuery selectঅবজেক্টে কেবল একটি কল যুক্ত করুন । যেমন প্রথম সরল উদাহরণটি https://jsfiddle.net/yz7tu49b/7/ হয়ে যায়
var $select = $('.selDiv .opts');
$select.val("SEL2").change();
অ্যাট্রিবিউট সিলেক্টর ব্যবহার করে উপাদানগুলি খুঁজে বের করার প্রচুর অন্যান্য উপায়ও রয়েছে, যেমন [value="SEL2"], তবে আপনাকে মনে রাখতে হবে বৈশিষ্ট্য নির্বাচনকারীরা অন্যান্য সমস্ত বিকল্পের তুলনায় তুলনামূলকভাবে ধীর।
$("#my_select").val("the_new_value").change();... ... তাই