উত্তর:
কোনও অতিরিক্ত প্লাগইন ব্যবহার না করে,
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
যদি আপনার কাছে প্রচুর বিকল্প থাকে বা এই কোডটি খুব ঘন ঘন চালানো দরকার হয়, তবে আপনাকে অযথা অনেকবার ডম পরিবর্তন করার পরিবর্তে একটি ডকুমেন্টফ্রেগমেন্ট ব্যবহার করা উচিত । শুধুমাত্র কয়েকটি মুষ্টিমেয় বিকল্পের জন্য, আমি বলব এটির পক্ষে এটি উপযুক্ত নয়।
------------------------------- যুক্ত ------------------ --------------
DocumentFragment
গতি বাড়ানোর জন্য ভাল বিকল্প, তবে আমরা document.createElement('option')
আই 6 এবং আই 7 সমর্থন করে না তাই আমরা বিকল্প উপাদান তৈরি করতে পারি না ।
আমরা কী করতে পারি তা হল একটি নতুন নির্বাচন উপাদান তৈরি করুন এবং তারপরে সমস্ত বিকল্প যুক্ত করুন। লুপ শেষ হয়ে গেলে, এটি আসল ডিওএম অবজেক্টে যুক্ত করুন।
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var _select = $('<select>');
$.each(myOptions, function(val, text) {
_select.append(
$('<option></option>').val(val).html(text)
);
});
$('#mySelect').append(_select.html());
এইভাবে আমরা কেবলমাত্র একবারের জন্য DOM সংশোধন করব!
val
এবং text
আসলে ভেরিয়েবল এবং তাদের ব্যবহার বর্ণনা করি describe
mySelect.append(new Option(text, val));
, যা আই 8 তে কাজ করে না। আমাকে @ নিকফের দিকে যেতে হবেmySelect.append($('<option></option>').val(val).html(text));
.attr('selected', true|false)
কোনও প্লাগইন না থাকলে, এটি আরও কিছুটা পুরাতন-স্কুলে না গিয়ে যতটা jQuery ব্যবহার না করেই সহজ হতে পারে:
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
$.each(myOptions, function(val, text) {
$('#mySelect').append( new Option(text,val) );
});
বিকল্পটি ক) পূর্বনির্ধারিত নির্বাচিত মান, এবং খ) এখনই নির্বাচন করা উচিত কিনা তা আপনি নির্দিষ্ট করতে চান, আপনি আরও দুটি প্যারামিটারে পাস করতে পারেন:
var defaultSelected = false;
var nowSelected = true;
$('#mySelect').append( new Option(text,val,defaultSelected,nowSelected) );
"<option></option>"
পদ্ধতির চেয়ে ভাল এটি পছন্দ ; এটা নোংরা বলে মনে হচ্ছে
প্লাগইন সহ: jQuery নির্বাচন বাক্স । তুমি এটি করতে পারো:
var myOptions = {
"Value 1" : "Text 1",
"Value 2" : "Text 2",
"Value 3" : "Text 3"
}
$("#myselect2").addOption(myOptions, false);
শুরুতে আইটেম যুক্ত করুন
$("#ddlList").prepend('<option selected="selected" value="0"> Select </option>');
শেষে তালিকায় আইটেম যুক্ত করুন
$('<option value="6">Java Script</option>').appendTo("#ddlList");
JQuery ব্যবহার করে কমন ড্রপডাউন অপারেশন (পান, সেট করুন, যোগ করুন, সরান)
.prepend("...") / $("...")
করা .prepend('...') / $('...')
স্নিপেটকে ঠিক করে দেবে।
ইউ সরাসরি ব্যবহার করতে পারেন
$"(.ddlClassName").Html("<option selected=\"selected\" value=\"1\">1</option><option value=\"2\">2</option>")
-> এখানে আপনি সরাসরি স্ট্রিং ব্যবহার করতে পারেন
এছাড়াও, অপশন তালিকাটির শুরুতে বিকল্পটি যুক্ত করতে .prepend () ব্যবহার করুন। http://api.jquery.com/prepend/
আমার পৃষ্ঠায় ড্রপডাউন যেমন ছিল ততই আমাকে ড্রপডাউনগুলিতে অনেকগুলি বিকল্প যুক্ত করতে হবে। সুতরাং আমি এটি এইভাবে ব্যবহার করেছি:
function myAppender(obj, value, text){
obj.append($('<option></option>').val(value).html(text));
}
$(document).ready(function() {
var counter = 0;
var builder = 0;
// Get the number of dropdowns
$('[id*="ddlPosition_"]').each(function() {
counter++;
});
// Add the options for each dropdown
$('[id*="ddlPosition_"]').each(function() {
var myId = this.id.split('_')[1];
// Add each option in a loop for the specific dropdown we are on
for (var i=0; i<counter; i++) {
myAppender($('[id*="ddlPosition_'+myId+'"]'), i, i+1);
}
$('[id*="ddlPosition_'+myId+'"]').val(builder);
builder++;
});
});
এই গতিশীলভাবে 1 থেকে এন এর মতো মান সহ ড্রপডাউন সেট আপ করে এবং স্বয়ংক্রিয়ভাবে ড্রপডাউন যে ক্রমের (যেমন 2 য় ড্রপডাউন বাক্সে "2" পেয়েছিল) এর জন্য মানটি নির্বাচন করে।
এটা তোলে হাস্যকর যে, আমি ব্যবহার করবেন ছিল this
বা this.Object
বা $.obj
বা যে আমার 2nd মধ্যে ভালো কিছু .each()
, যদিও --- আমি আসলে যে বস্তুর নির্দিষ্ট আইডি এবং তারপর দখল এবং আমার ফাংশন যে সমগ্র বস্তু পাস হওয়ার আগেই যোগ হবে ছিল। ভাগ্যক্রমে আমার ড্রপডাউনটির আইডি "_" দ্বারা আলাদা করা হয়েছিল এবং আমি এটি ধরতে পারি। আমার মনে হয় না যে আমার করা উচিত ছিল, তবে এটি আমাকে অন্যথায় jQuery ব্যতিক্রমগুলি দিয়ে চলেছে। আমি যা জানছিলাম তা নিয়ে অন্যেরা লড়াই করে যাচ্ছেন enjoy
আপনার প্রতিক্রিয়াটিকে "সাফল্য ডেটা" মনে করি। এটিতে একটি তালিকা রয়েছে যা আপনাকে ড্রপডাউন মেনুতে বিকল্প হিসাবে যুক্ত করতে হবে।
success: function (successData) {
var sizeOfData = successData.length;
if (sizeOfData == 0) {
// NO DATA, throw an alert ...
alert ("No Data Found");
} else {
$.each(successData, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
} }
এটি আপনার জন্য কাজ করবে ....
এই ফাংশন চেষ্টা করুন:
function addtoselect(param,value){
$('#mySelectBox').append('<option value='+value+'>'+param+'</option>');
}