उत्कृष्ट जवाब द्वारा प्रदान की @fmpwizard Select2 3.5.2 और नीचे के लिए काम करता है, लेकिन यह 4.0.0 में काम नहीं करेगा ।
चूंकि बहुत जल्दी (लेकिन शायद इस प्रश्न के रूप में जल्दी नहीं), Select2 ने "टैगिंग" का समर्थन किया है: जहां उपयोगकर्ता अपने स्वयं के मूल्य में जोड़ सकते हैं यदि आप उन्हें अनुमति देते हैं। यह tags
विकल्प के माध्यम से सक्षम किया जा सकता है , और आप प्रलेखन में एक उदाहरण के साथ चारों ओर खेल सकते हैं ।
$("select").select2({
tags: true
});
डिफ़ॉल्ट रूप से, यह एक विकल्प बनाएगा जिसमें खोज शब्द के समान पाठ है जो उन्होंने दर्ज किया है। आप उपयोग की गई वस्तु को संशोधित कर सकते हैं यदि आप इसे एक विशेष तरीके से चिह्नित करना चाहते हैं, या ऑब्जेक्ट का चयन करने के बाद इसे दूरस्थ रूप से बना सकते हैं।
$("select").select2({
tags: true,
createTag: function (params) {
return {
id: params.term,
text: params.term,
newOption: true
}
}
});
select2:select
घटना के माध्यम से पारित वस्तु पर एक आसान से स्पॉट फ्लैग के रूप में सेवा करने के अलावा , अतिरिक्त संपत्ति भी आपको परिणाम में विकल्प को थोड़ा अलग तरीके से प्रस्तुत करने की अनुमति देती है। इसलिए यदि आप इस तथ्य को नेत्रहीन रूप से संकेत देना चाहते हैं कि यह एक नया विकल्प है " बगल में (नया) " , तो आप इसके साथ कुछ कर सकते हैं।
$("select").select2({
tags: true,
createTag: function (params) {
return {
id: params.term,
text: params.term,
newOption: true
}
},
templateResult: function (data) {
var $result = $("<span></span>");
$result.text(data.text);
if (data.newOption) {
$result.append(" <em>(new)</em>");
}
return $result;
}
});