সিলেক্ট 2 সংস্করণ> = 4.0.0 এর জন্য
অন্যান্য সমাধানগুলি কাজ নাও করতে পারে, তবে নিম্নলিখিত উদাহরণগুলিতে কাজ করা উচিত।
সমাধান 1: সমস্ত সংযুক্ত পরিবর্তনের ইভেন্টগুলিকে সিলেক্ট 2 সহ ট্রিগার করতে কারণ দেয়
$('select').val('1').trigger('change');
সমাধান 2: JUST সিলেক্ট 2 পরিবর্তন ইভেন্টকে ট্রিগার করতে পারে
$('select').val('1').trigger('change.select2');
এর উদাহরণগুলির জন্য এই jsfiddle দেখুন । সমাধান 2 এর জন্য @ মিন্যালারে ধন্যবাদ।
ব্যাখ্যা:
বলুন মানুষের নাম সহ আমার একটি সেরা বন্ধু নির্বাচন করুন। সুতরাং বব, বিল এবং জন (উদাহরণ হিসাবে আমি ধরে নিচ্ছি মানটি নামের মতো)। প্রথমে আমি আমার নির্বাচনের মাধ্যমে সিলেক্ট 2 শুরু করি:
$('#my-best-friend').select2();
এখন আমি ম্যানুয়ালি ব্রাউজারে বব নির্বাচন করুন। পরবর্তী বব দুষ্টু কিছু করে এবং আমি তাকে আর পছন্দ করি না। সুতরাং সিস্টেমটি আমার জন্য বব নির্বাচন করে:
$('#my-best-friend').val('').trigger('change');
বা বলুন যে আমি সিস্টেমটিকে ববটির পরিবর্তে তালিকার পরবর্তীটি নির্বাচন করব:
// I have assume you can write code to select the next guy in the list
$('#my-best-friend').val('Bill').trigger('change');
সিলেক্ট 2 ওয়েবসাইটে নোটগুলি ( অবচয় এবং অপসারণের পদ্ধতিগুলি দেখুন ) যা অন্যদের জন্য কার্যকর হতে পারে:
.select2 ('val')
"ভাল" পদ্ধতি অবমূল্যায়ন করা হয়েছে এবং সিলেক্ট ৪.১-এ সরানো হবে। অবহেলিত পদ্ধতিতে আর ট্রিগার চেঞ্জ প্যারামিটার অন্তর্ভুক্ত নেই।
পরিবর্তে অন্তর্নিহিত উপাদানটিতে আপনার সরাসরি .val কল করা উচিত। আপনার যদি দ্বিতীয় প্যারামিটারের প্রয়োজন হয় (ট্রিগার চেঞ্জ), তবে আপনাকে উপাদানটিতে .trigger ("পরিবর্তন") কল করতে হবে।
$('select').val('1').trigger('change'); // instead of $('select').select2('val', '1');