jquery- চয়ন ড্রপডাউন অক্ষম করুন


88

আমার একটি নির্বাচন ডিভ রয়েছে যা আমি নির্বাচিত jquery প্লাগইনটি শৈলীতে ব্যবহার করতে এবং বৈশিষ্ট্যগুলিতে যুক্ত করতে (বিশেষত, অনুসন্ধান)। ডিভি কিছু দেখতে এই রকম,

 <select data-placeholder="add a foobar" id="foobar" style="width: 350px;">
 <option value=""></option>
 </select>

এবং আমি এইভাবে নির্বাচিত প্লাগইন ব্যবহার করছি,

 $('#foobar').chosen();

কিছু এজেএক্স লোড করার সময়, আমি পুরো <select>ডিভিটি অক্ষম করতে চাই । এরকম কিছু নিয়েই হতে পারে,

 $('#foobar').disable()

অথবা এটা

 $('#foobar').prop('disabled', true)

আমি মনে করি আপনি ধারণা পেতে পারেন।

এটি করার জন্য কোনও ধারণা? আমি অনেকগুলি ভিন্ন ভিন্ন জিনিস চেষ্টা করেছি, যেমন জিনিসগুলি অক্ষম করার জন্য jquery আইডিয়ামগুলি ব্যবহার করা, <select>যা কেবলমাত্র অন্তর্নিহিত নির্বাচনকে অক্ষম করে দেয়, এটির উপরে নির্বাচিত স্টাফগুলি অক্ষম করে। এমনকি আমি z-indexবাক্সটি ধূসর করতে একটি উচ্চের সাথে ম্যানুয়ালি অন্য ডিভ যুক্ত করার আশ্রয় নিয়েছি, তবে আমি মনে করি এটি সম্ভবত কুরুচিপূর্ণ এবং বগিযুক্ত।

সাহায্যের জন্য ধন্যবাদ!

উত্তর:


152

আপনি কেবল আপনার অক্ষম করছেন select, তবে নির্বাচিতরা এটি ডিভ এবং স্প্যান ইত্যাদির হিসাবে রেন্ডার করে So সুতরাং আপনার নির্বাচনটি অক্ষম করার পরে আপনাকে নির্বাচিত উইজেটকেও অক্ষম করতে প্লাগইন আপডেট করতে হবে। আপনি এইভাবে চেষ্টা করতে পারেন:

$('#foobar').prop('disabled', true).trigger("liszt:updated");

//For non-older versions of chosen you would want to do:

$('#foobar').prop('disabled', true).trigger("chosen:updated");

আমি এখানে তথ্য পেয়েছি

ফিডল

একবার আপনি উইজেটটি আপডেট করার পরে এটি প্লাগইনের ক্লিক বা অন্যান্য ইভেন্টগুলি আবদ্ধ করে এবং এর অস্বচ্ছতা 0.5 তে পরিবর্তন করে 0.5 যেহেতু কোনও ডিভের জন্য আসল অক্ষম রাষ্ট্র নেই।


দেখে মনে হচ্ছে এখানে কোনও টাইপ রয়েছে liszt:updated, এটি `তালিকা হওয়া উচিত নয়: আপডেট হয়েছে?
ল্যানক্সিক্স

4
lisztসঠিক ছিল, তবে এখন chosen:updatedযাইহোক এটি করার সঠিক উপায়।
কালেব অ্যান্ডারসন

পরামর্শ: আপনার উত্তরটিতে প্রথমে কোডের সর্বশেষতম সংস্করণটি উল্লেখ করার প্রয়োজন হতে পারে যেহেতু অনেক ব্যবহারকারীই সর্বশেষতম সংস্করণ ব্যবহার করবেন। আমি এটি ব্যবহার করেছি liszt:updatedএবং কাজ করিনি কারণ এটি নতুন সংস্করণে কাজ করছে না।
ভাগ্যবান

.trigger("chosen:updated");এটি সক্রিয় বা নিষ্ক্রিয় করার জন্যও কাজ করে, উদাহরণস্বরূপ, যদি আপনি এটি কোনও ফাংশনে আবার কল করেন।
অ্যারেনাস ভি।

$ ('# foobar অপশন: (নির্বাচিত)' নয় prop নির্বাচিত আইটেম বাদে ড্রপবক্সে থাকা অন্যান্য আইটেমগুলি অক্ষম করবে।
আসাদ না

51

নির্বাচিত সর্বশেষতম সংস্করণে, liszt:updatedআর কাজ করছে না। আপনার ব্যবহার করা দরকার chosen:updated:

$(".chosen-select").attr('disabled', true).trigger("chosen:updated")

এখানে একটি জেএসফিডাল


7

পিএসএল সঠিক ছিল, তবে বেছে নেওয়া হয়েছে আপডেট করা হয়েছে।

আপনি অক্ষম করার পরে এটি রাখুন:

$("#your-select").trigger("chosen:updated");


1

আপনি এটি চেষ্টা করতে পারেন:

$("#foobar").prop('disabled',true).trigger("chosen:updated").chosen('destroy').chosen()


0
$(document).ready(function () {
    $("#foobar").chosen().on('chosen:showing_dropdown',function() {
            $('.chosen-select').attr('disabled', true).trigger('chosen:updated');
            $('.chosen-select').attr('disabled', false).trigger('chosen:updated');
            $('.search-choice-close').hide();
    });
    $('.search-choice-close').hide();
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.