javascript আপনি কিভাবে একটি নির্বাচিত বক্সের সমস্ত বিকল্পগুলি সরাবেন এবং তারপরে একটি বিকল্প যুক্ত করুন এবং jQuery এর সাথে এটি নির্বাচন করবেন?





10 Answers

$('#mySelect')
    .empty()
    .append('<option selected="selected" value="whatever">text</option>')
;
javascript jquery option html-select

কোর jQuery ব্যবহার করে, আপনি কিভাবে একটি নির্বাচিত বক্সের সমস্ত বিকল্পগুলি সরাবেন, তারপরে একটি বিকল্প যোগ করুন এবং এটি নির্বাচন করুন?

আমার নির্বাচন বক্স নিম্নলিখিত।

<Select id="mySelect" size="9" </Select>

সম্পাদনা করুন: নিম্নলিখিত কোড চেইন সঙ্গে সহায়ক ছিল। যাইহোক, (ইন্টারনেট এক্সপ্লোরারে) .val('whatever') না .val('whatever') যোগ করা হয়েছে বিকল্পটি নির্বাচন করে নি। (আমি একই 'মান' ব্যবহার করেছি .append এবং .append ।)

$('#mySelect').find('option').remove().end().append('<option value="whatever">text</option>').val('whatever');

সম্পাদনা করুন: এই কোডটি অনুকরণ করার জন্য এটি চেষ্টা করার সময়, যখনই পৃষ্ঠা / ফর্মটি পুনরায় সেট হয় তখন আমি নিম্নলিখিত কোডটি ব্যবহার করি। এই নির্বাচন বাক্সটি রেডিও বোতামগুলির একটি সেট দ্বারা জনবহুল। .focus() কাছাকাছি ছিল, কিন্তু বিকল্পটি পছন্দ করে না বলে নির্বাচিত হয়েছে। নির্বাচিত .selected= "true" । আমার বিদ্যমান কোডের সাথে কিছুই ভুল নয় - আমি শুধু jQuery শিখতে চেষ্টা করছি।

var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";

সম্পাদনা করুন: নির্বাচিত উত্তরটি আমার যা দরকার তার কাছাকাছি ছিল। এটা আমার জন্য কাজ করেছে:

$('#mySelect').children().remove().end().append('<option selected value="whatever">text</option>') ;

কিন্তু উভয় উত্তর আমাকে আমার চূড়ান্ত সমাধান নেতৃত্বে ..




আই 7 তে আমার একটি বাগ ছিল (IE6 এ সূক্ষ্ম কাজ করে) যেখানে উপরের jQuery পদ্ধতিগুলি ব্যবহার করে DOM এ নির্বাচনটি মুছে ফেলা হবে তবে পর্দায় নয়। IE বিকাশকারী টুলবার ব্যবহার করে আমি নিশ্চিত করতে পারি যে নির্বাচনটি সাফ করা হয়েছে এবং নতুন আইটেমগুলি ছিল, তবে দৃশ্যত নির্বাচনগুলি এখনও পুরানো আইটেমগুলি দেখিয়েছে - যদিও আপনি সেগুলিকে নির্বাচন করতে পারবেন না।

ফিক্সটি ডিওএম পদ্ধতি / যথাযথ (যেমন পোস্টার মূল ছিল) ব্যবহার করে jQuery এর পরিবর্তে সাফ করতে হয় - এখনও বিকল্প যোগ করার জন্য jQuery ব্যবহার করে।

$('#mySelect')[0].options.length = 0;



$('#mySelect')
    .empty()
    .append('<option value="whatever">text</option>')
    .find('option:first')
    .attr("selected","selected")
;



$("#control").html("<option selected=\"selected\">The Option...</option>");



  1. প্রথমে এক্সিকিউট করার বিকল্পটি প্রথমটি পরিষ্কার করুন প্রথমটি নির্বাচন করুন (- নির্বাচন করুন)

  2. এক দ্বারা লুপ এক ব্যবহার করে নতুন বিকল্প মান যোগ করুন

    $('#ddlCustomer').find('option:not(:first)').remove();
    for (var i = 0; i < oResult.length; i++) {
       $("#ddlCustomer").append(new Option(oResult[i].CustomerName, oResult[i].CustomerID + '/' + oResult[i].ID));
    }



অন্য উপায়:

$('#select').empty().append($('<option>').text('---------').attr('value',''));

এই লিঙ্কে, ভাল পদ্ধতি রয়েছে https://api.jquery.com/select/




মুর্ত্তোর উত্তরের উপর বিল্ডিং, এটি পড়ার এবং বুঝতে একটু সহজ:

$('#mySelect').find('option').not(':first').remove();

একটি নির্দিষ্ট মান সঙ্গে এক ছাড়া সব বিকল্প মুছে ফেলার জন্য, আপনি এই ব্যবহার করতে পারেন:

$('#mySelect').find('option').not('[value=123]').remove();

বিকল্প যোগ করা হবে যদি এই ভাল হবে।




আপনি সহজেই এইচটিএমএল প্রতিস্থাপন করতে পারেন

$('#mySelect')
.html('<option value="whatever" selected>text</option>')
.trigger('change');



এটা কাজ করবে আশা করি

$('#myselect').find('option').remove()
.append($('<option></option>').val('value1').html('option1'));



var select = $('#mySelect');
select.find('option').remove().end()
.append($('<option/>').val('').text('Select'));
var data = [{"id":1,"title":"Option one"}, {"id":2,"title":"Option two"}];
for(var i in data) {
    var d = data[i];
    var option = $('<option/>').val(d.id).text(d.title);
    select.append(option);
}
select.val('');



Related