दिलचस्प पोस्ट
UIWebView "लंबवत" से खड़ी हो? पैरेंट पंक्ति को हटा या अपडेट नहीं किया जा सकता: एक विदेशी कुंजी बाध्यता विफल होती है HTTP मूलभूत प्रमाणीकरण क्रेडेंशियल्स यूआरएल और एनक्रिप्शन में पास जावास्क्रिप्ट: "प्रोटोकॉल" के साथ लिंक्स का उपयोग क्यों करना बुरा है? मैप। ऑब्जेक्ट (ऑब्जेक्ट की) क्यों नहीं है (सामान्यतः सामान्य) आईआईएस 7.0 के अंतर्गत क्लासिक एएसपी एप्लीकेशन काम करने के लिए मार्गदर्शन कैसे करें I डिज़ाइन पैटर्न पर: सिंगलटन का उपयोग कब किया जाए? त्रुटि डोमेन = NSURLErrorDomain कोड = -1005 "नेटवर्क कनेक्शन खो गया था।" एसक्यूएल एनवीएचएआरएआर और वीएआरएआरएआर सीमाएं Mediastore से यूआरआइ से फाइल नाम और पथ प्राप्त करें Jquery के साथ एक यूट्यूब वीडियो बंद करो? सूची दृश्य के माध्यम से डायनामिक रूप से जेनरेट किए गए चेकबॉक्स को चेक करते समय कोई समस्या हो रही है मैं एक रेंज के भीतर एक यादृच्छिक संख्या कैसे उत्पन्न कर सकता हूं, लेकिन कुछ को छोड़कर? पैरामीटर के रूप में एसक्यूएल क्वेरी में अजगर सूची प्रीफ़ेचिंग के उदाहरण?

<Select> jquery के साथ विकल्प बदलने के लिए कैसे?

समझे कि विकल्पों की एक सूची उपलब्ध है, आप <select> साथ नए <option> s को कैसे अपडेट करते हैं?

वेब के समाधान से एकत्रित समाधान "<Select> jquery के साथ विकल्प बदलने के लिए कैसे?"

empty विधि का उपयोग करके आप मौजूदा विकल्पों को निकाल सकते हैं, और उसके बाद अपने नए विकल्प जोड़ सकते हैं:

 var option = $('<option></option>').attr("value", "option value").text("Text"); $("#selectId").empty().append(option); 

यदि आपके पास किसी ऑब्जेक्ट में आपके नए विकल्प हैं, तो आप निम्न कर सकते हैं:

 var newOptions = {"Option 1": "value1", "Option 2": "value2", "Option 3": "value3" }; var $el = $("#selectId"); $el.empty(); // remove old options $.each(newOptions, function(key,value) { $el.append($("<option></option>") .attr("value", value).text(key)); }); 

संपादित करें: सभी विकल्पों को हटाने के लिए लेकिन सबसे पहले, आप :gt चयनकर्ता का उपयोग कर सकते हैं, जो शून्य से अधिक से अधिक इंडेक्स के साथ सभी option तत्व प्राप्त कर सकते हैं और उन्हें remove हैं:

 $('#selectId option:gt(0)').remove(); // remove all options, but not the first 

मैं एक त्वरित jQuery एक्सटेंशन में सीएमएस के उत्कृष्ट उत्तर फेंक दिया:

 (function($, window) { $.fn.replaceOptions = function(options) { var self, $option; this.empty(); self = this; $.each(options, function(index, option) { $option = $("<option></option>") .attr("value", option.value) .text(option.text); self.append($option); }); }; })(jQuery, window); 

इसमें "पाठ" और "मूल्य" कुंजियां शामिल वस्तुओं की एक सरणी की उम्मीद है तो उपयोग निम्नानुसार है:

 var options = [ {text: "one", value: 1}, {text: "two", value: 2} ]; $("#foo").replaceOptions(options); 
 $('#comboBx').append($("<option></option>").attr("value",key).text(value)); 

जहां comboBx आपका कॉम्बो बॉक्स आईडी है

या आप पहले से मौजूद इन्ह्रीन के लिए स्ट्रिंग के रूप में विकल्प जोड़ सकते हैं और फिर इन्हें चुनें innerHTML को आवंटित कर सकते हैं।

संपादित करें

यदि आपको पहला विकल्प रखने और अन्य सभी को हटाने की आवश्यकता है तो आप इसका उपयोग कर सकते हैं

 var firstOption = $("#cmb1 option:first-child"); $("#cmb1").empty().append(firstOption); 

कुछ अजीब कारणों से इस भाग के लिए

 $el.empty(); // remove old options 

सीएमएस समाधान से मेरे लिए काम नहीं किया गया था, इसलिए इसके बजाय मैंने इसका इस्तेमाल किया है

 el.html(' '); 

और यह काम करता है तो मेरा काम कोड अब ऐसा दिखता है:

 var newOptions = { "Option 1":"option-1", "Option 2":"option-2" }; var $el = $('.selectClass'); $el.html(' '); $.each(newOptions, function(key, value) { $el.append($("<option></option>") .attr("value", value).text(key)); }); 

मौजूदा एक के संशोधन की तुलना में DOM तत्व को हटाने और जोड़ना धीमा है

यदि आपके विकल्प सेट की लंबाई समान है, तो आप ऐसा कुछ कर सकते हैं:

 $('#my-select option') .each(function(index) { $(this).text('someNewText').val('someNewValue'); }); 

यदि आपके नए विकल्प सेट में अलग-अलग लंबाई है, तो आप ऊपर वर्णित तकनीक का उपयोग करके वास्तव में आवश्यक खाली विकल्प जोड़ सकते हैं / हटा सकते हैं।

उदाहरण के लिए यदि आपके एचटीएमएल कोड में यह कोड होता है:

 <select id="selectId"><option>Test1</option><option>Test2</option></select> 

आपके चयन के अंदर विकल्प की सूची बदलने के लिए, आप इस कोड का उपयोग कर सकते हैं bellow। जब आपका नाम चुने गए चयन आईडी का चयन करें।

 var option = $('<option></option>').attr("value", "option value").text("Text"); $("#selectId").html(option); 

उपरोक्त इस उदाहरण में मैं विकल्प की पुरानी सूची को केवल एक नए विकल्प से बदलूंगा।

यदि हम <select> लगातार अपडेट करते हैं और हमें पिछले मान को सहेजना होगा:

 var newOptions = { 'Option 1':'value-1', 'Option 2':'value-2' }; var $el = $('#select'); var prevValue = $el.val(); $el.empty(); $.each(newOptions, function(key, value) { $el.append($('<option></option>').attr('value', value).text(key)); if (value === prevValue){ $el.val(value); } }); $el.trigger('change'); 

क्या यह मदद करता है?

 $("#SelectName option[value='theValueOfOption']")[0].selected = true;