<select size="2">
<option selected="selected">Input your option</option>
<option>Input your option</option>
</select>
মার্জিতভাবে বিকল্পটি অনির্বাচিত করার জন্য jQuery ব্যবহার করে সবচেয়ে ভাল উপায় কী?
<select size="2">
<option selected="selected">Input your option</option>
<option>Input your option</option>
</select>
মার্জিতভাবে বিকল্পটি অনির্বাচিত করার জন্য jQuery ব্যবহার করে সবচেয়ে ভাল উপায় কী?
উত্তর:
ব্যবহারের removeAttr ...
$("option:selected").removeAttr("selected");
বা প্রোপ
$("option:selected").prop("selected", false)
.val([])
বা .prop("selected", false)
- নীচে স্ক্রোল করুন।
$("option:selected").prop("selected", false)
কখনও কখনও কাজ না। (jquery v1.4.2 সহ ক্রোম ব্রাউজারে কাজ করছেন না)
এখানে প্রচুর উত্তর রয়েছে তবে দুর্ভাগ্যক্রমে সেগুলি সমস্তই বেশ পুরানো এবং তাই নির্ভর করে attr
/ removeAttr
যা আসলেই যাওয়ার উপায় নয়।
@ কফি আইপ্লেস সঠিকভাবে উল্লেখ করেছে যে একটি ভাল, ক্রস-ব্রাউজার সমাধান ব্যবহার করা
$("select").val([]);
আর একটি ভাল ক্রস ব্রাউজার সমাধান
// Note the use of .prop instead of .attr
$("select option").prop("selected", false);
আপনি এটি এখানে একটি স্ব-পরীক্ষা চালানো দেখতে পারেন । আইই 7/8/9, এফএফ 11, ক্রোম 19 এ পরীক্ষিত।
Array.indexOf
আইই <9 এর জন্য একটি পলিফিল প্রয়োজন (অথবা আপনি অনেক জেএস লাইব্রেরি সরবরাহ করে এমন কোনও সমতুল্য পদ্ধতি ব্যবহার করতে পারেন)।
$('#select').val([]);
? দুর্ভাগ্যক্রমে, এটি selected="selected"
বৈশিষ্ট্যটি সরিয়ে দেয় না । এর ফলে ভুল ডেটা পোস্ট করা শেষ হতে পারে। আমি এই পদ্ধতির সুপারিশ না!
জিজ্ঞাসা করার পরে এটি অনেকক্ষণ হয়ে গেছে, এবং আমি পুরানো ব্রাউজারগুলিতে এটি পরীক্ষা করি নি তবে এটি আমার কাছে খুব সহজ উত্তর বলে মনে হচ্ছে
$("#selectID").val([]);
.val () পাশাপাশি নির্বাচনের জন্যও কাজ করে http://api.jquery.com/val/
$("select option").prop("selected", false);
সর্বজনীনভাবে কাজ করে (বহু এবং একক নির্বাচনের উপর)।
$('select').val('')
আমি কেবল এটি সিলেক্টে ব্যবহার করেছি এবং এটি কৌশলটি করেছে।
আমি jQuery 1.7.1 এ আছি ।
উত্তরগুলি এখনও অবধি কেবল আই 6/7 এ একাধিক নির্বাচনের জন্য কাজ করে; আরও সাধারণ অ-মাল্টি সিলেক্ট করার জন্য আপনাকে ব্যবহার করতে হবে:
$("#selectID").attr('selectedIndex', '-1');
এটি ফ্লাই ফিশার 64 এর সাথে সংযুক্ত পোস্টে ব্যাখ্যা করা হয়েছে। আপনি যদি এটি তাকান, আপনি দেখতে পাবেন যে কীভাবে 2 টি মামলা রয়েছে - মাল্টি / নন-মাল্টি। সম্পূর্ণ সমাধানের জন্য উভয়কেই থামিয়ে দেওয়ার কিছু নেই:
$("#selectID").attr('selectedIndex', '-1').find("option:selected").removeAttr("selected");
ওহ জ্যাকোয়ারি
যেহেতু একটি নেটিভ জাভাস্ক্রিপ্ট পদ্ধতির এখনও আছে, আমি এটি সরবরাহ করার প্রয়োজনীয়তা অনুভব করছি।
var select = document.querySelector('select'); //hopefully you'll use a better selector query
select.selectedIndex = 0; // or -1, 0 sets it to first option, -1 selects no options
এবং এটি আপনাকে কত দ্রুত তা দেখানোর জন্য: বেনমার্ক
একটি তাত্ক্ষণিক গুগল এই পোস্টটি খুঁজে পেয়েছে যা আপনি কীভাবে আইআই-তে একক এবং একাধিক নির্বাচনী তালিকার জন্য চান তা কী করে তা বর্ণনা করে। সমাধানটি বেশ মার্জিত বলে মনে হচ্ছে:
$('#clickme').click(function() {
$('#selectmenu option').attr('selected', false);
});
$(option).removeAttr('selected') //replace 'option' with selected option's selector
সমাধানের জন্য অনেক ধন্যবাদ।
একক পছন্দ কম্বো তালিকার সমাধান পুরোপুরি কার্যকর করে works অনেক সাইটে অনুসন্ধানের পরে আমি এটি পেয়েছি।
$("#selectID").attr('selectedIndex', '-1').children("option:selected").removeAttr("selected");
$("option:selected").attr("selected", false);
সাধারণত আমি যখন একটি সিলেক্ট মেনু ব্যবহার করি তখন প্রতিটি বিকল্পের সাথে এর সাথে একটি মান যুক্ত থাকে। উদাহরণ স্বরূপ
<select id="nfl">
<option value="Bears Still...">Chicago Bears</option>
<option selected="selected" value="Go Pack">Green Bay Packers</option>
</select>
console.log($('#nfl').val()) logs "Go Pack" to the console
Set the value to an empty string $('#nfl').val("")
console.log($('#nfl').val()) logs "" to the console
এখন এটি বিকল্প থেকে নির্বাচিত বৈশিষ্ট্যটিকে সরিয়ে দেয় না তবে আমি যা চাই তা হল মান।
আপনার নির্বাচনের মধ্যে একটি আইডি সেট করুন, যেমন:
<select id="foo" size="2">
তারপরে আপনি ব্যবহার করতে পারেন:
$("#foo").prop("selectedIndex", 0).change();