जवाबों:
किसी भी अतिरिक्त प्लगइन्स का उपयोग किए बिना,
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
यदि आपके पास बहुत सारे विकल्प थे, या इस कोड को बहुत बार चलाने की आवश्यकता थी, तो आपको अनावश्यक रूप से DOM को संशोधित करने के बजाय एक DocumentFragment का उपयोग करना चाहिए । केवल कुछ मुट्ठी भर विकल्पों के लिए, मैं कहूंगा कि यह इसके लायक नहीं है।
------------------------------- जोड़ा गया ------------------ --------------
DocumentFragment
गति बढ़ाने के लिए अच्छा विकल्प है, लेकिन हम document.createElement('option')
IE6 और IE7 का समर्थन नहीं कर रहे हैं के बाद से विकल्प तत्व नहीं बना सकते ।
हम क्या कर सकते हैं, एक नया चुनिंदा तत्व बनाएं और फिर सभी विकल्पों को जोड़ दें। एक बार लूप समाप्त होने के बाद, इसे वास्तविक DOM ऑब्जेक्ट में जोड़ें।
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
वास्तव में चर और उनके उपयोग का वर्णन करता हूं ।
mySelect.append(new Option(text, val));
, जो IE8 में काम नहीं करता था। मुझे 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) );
});
यदि आप यह निर्दिष्ट करना चाहते हैं कि क्या विकल्प a या a डिफ़ॉल्ट चयनित मूल्य है, और b) को अभी चुना जाना चाहिए, तो आप दो और मापदंडों में पास कर सकते हैं:
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('...') / $('...')
स्निपेट को ठीक करना होगा।
और विकल्प सूची के प्रारंभ में विकल्प जोड़ने के लिए .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 से n जैसे मानों के साथ ड्रॉपडाउन सेट करता है, और स्वचालित रूप से उस ऑर्डर के लिए मूल्य का चयन करता है जो ड्रॉपडाउन में था (यानी बॉक्स में ड्रॉपडाउन को "2" मिला, आदि)।
यह हास्यास्पद था कि मैं अपने 2 वें में उपयोग this
या this.Object
या $.obj
ऐसा कुछ भी नहीं कर सकता था .each()
, हालांकि --- मुझे वास्तव में उस वस्तु की विशिष्ट आईडी प्राप्त करनी थी और फिर उस पूरे ऑब्जेक्ट को मेरे फ़ंक्शन में ले जाना और पास करना होगा, इससे पहले कि यह संलग्न हो जाए। सौभाग्य से मेरे ड्रॉपडाउन की आईडी को "_" द्वारा अलग कर दिया गया था और मैं इसे पकड़ सकता था। मुझे नहीं लगता कि मुझे होना चाहिए था, लेकिन यह मुझे अन्यथा jQuery अपवाद देता रहा। कुछ अन्य जो मुझे जानने का आनंद ले रहे थे, उससे जूझ रहे थे।
लगता है कि आपकी प्रतिक्रिया "उत्तराधिकारी" है। इसमें एक सूची है जिसे आपको ड्रॉपडाउन मेनू में विकल्प के रूप में जोड़ना होगा।
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>');
}