इसे करने के कई तरीके हैं, लेकिन सबसे साफ दृष्टिकोण को शीर्ष उत्तरों और तर्क के भार के बीच खो दिया गया है val()। इसके अलावा कुछ तरीके jQuery 1.6 के रूप में बदल गए हैं, इसलिए इसे अपडेट की आवश्यकता है।
निम्नलिखित उदाहरणों के लिए मैं मान लूंगा कि चर $selectएक वांछित वस्तु पर इंगित jQuery वस्तु है <select>, उदाहरण के लिए निम्न के माध्यम से:
var $select = $('.selDiv .opts');
नोट 1 - वैल्यू मैच के लिए वैल () का उपयोग करें:
मूल्य मिलान के लिए, val()एक विशेषता चयनकर्ता का उपयोग करने की तुलना में कहीं अधिक सरल है: https://jsfiddle.net/yz7tu49/5//
$select.val("SEL2");
का सेटर संस्करण उसी के साथ मिलान की संपत्ति सेट करके टैग .val()पर लागू किया selectजाता है , इसलिए सभी आधुनिक ब्राउज़रों पर ठीक काम करता है।selectedoptionvalue
नोट 2 - प्रोप ('चयनित', सत्य) का उपयोग करें:
यदि आप किसी विकल्प की चयनित स्थिति को सीधे सेट करना चाहते हैं, तो आप पैरामीटर (पाठ मान के बजाय ) के साथ उपयोग कर सकते हैं prop(नहीं ):attrbooleanselected
उदा। https://jsfiddle.net/yz7tu49b/
$option.prop('selected', true); // Will add selected="selected" to the tag
नोट 3 - अज्ञात मूल्यों के लिए अनुमति दें:
यदि आप val()एक का चयन करने के लिए उपयोग करते हैं <option>, लेकिन वैल का मिलान नहीं किया जाता है (मूल्यों के स्रोत के आधार पर हो सकता है), तो "कुछ भी नहीं" चुना जाता है और $select.val()वापस आ जाएगा null।
तो, दिखाए गए उदाहरण के लिए, और मजबूती के लिए, आप कुछ इस तरह का उपयोग कर सकते हैं https://jsfiddle.net/1250Ldqn/ :
var $select = $('.selDiv .opts');
$select.val("SEL2");
if ($select.val() == null) {
$select.val("DEFAULT");
}
नोट 4 - सटीक पाठ मिलान:
यदि आप सटीक पाठ द्वारा मिलान करना चाहते हैं, तो आप filterफ़ंक्शन के साथ उपयोग कर सकते हैं । उदा। https://jsfiddle.net/yz7tu49b/2/ :
var $select = $('.selDiv .opts');
$select.children().filter(function(){
return this.text == "Selection 2";
}).prop('selected', true);
यद्यपि यदि आपके पास अतिरिक्त व्हाट्सएप हो सकता है तो आप चेक में ट्रिम को जोड़ना चाह सकते हैं
return $.trim(this.text) == "some value to match";
नोट 5 - सूचकांक द्वारा मिलान
यदि आप इंडेक्स से मिलान करना चाहते हैं तो सिलेक्ट के बच्चों को अनुक्रमित करें जैसे कि https://jsfiddle.net/yz7tu49b/3/
var $select = $('.selDiv .opts');
var index = 2;
$select.children()[index].selected = true;
हालाँकि मैं अब भविष्य में प्रूफ कोड के लिए jQuery के पक्ष में प्रत्यक्ष DOM संपत्तियों से बचने की प्रवृत्ति रखता हूं, ताकि https://jsfiddle.net/yz7tu49b/5/ के रूप में भी किया जा सके :
var $select = $('.selDiv .opts');
var index = 2;
$select.children().eq(index).prop('selected', true);
नोट 6 - नए चयन में आग लगाने के लिए परिवर्तन () का उपयोग करें
उपरोक्त सभी मामलों में, परिवर्तन की घटना आग नहीं है। यह डिजाइन द्वारा है ताकि आप पुनरावर्ती परिवर्तन की घटनाओं के साथ हवा न दें।
यदि आवश्यक हो तो परिवर्तन घटना उत्पन्न करने के लिए, बस .change()jQuery selectऑब्जेक्ट में एक कॉल जोड़ें । उदाहरण के लिए पहला सबसे सरल उदाहरण https://jsfiddle.net/yz7tu49b/7/ बन जाता है
var $select = $('.selDiv .opts');
$select.val("SEL2").change();
विशेषता चयनकर्ताओं का उपयोग करने वाले तत्वों को खोजने के लिए बहुत से अन्य तरीके भी हैं, जैसे [value="SEL2"], लेकिन आपको यह याद रखना होगा कि इन सभी अन्य विकल्पों की तुलना में विशेषता चयनकर्ता अपेक्षाकृत धीमा हैं।
$("#my_select").val("the_new_value").change();... ... इतने से