2013-02-07 11 views
16

मुझे उपयोगकर्ताओं को केवल चुनिंदा टैग चुनने की अनुमति देने की आवश्यकता है।जावास्क्रिप्ट चयन 2 अनुमत टैग

वर्तमान में मैं है कि:

$("input#id_txtcolor").select2({tags:["red", "green", "blue"]}); 

तुम मुझे उस के साथ मदद कर सकते हैं, कृपया?

+0

प्रलेखन से: "ध्यान दें कि टैगिंग सक्षम होने पर उपयोगकर्ता पूर्व-मौजूदा टैग से चयन कर सकता है या पहली पसंद चुनकर एक नया टैग बना सकता है जिसे उपयोगकर्ता ने अभी तक खोज बॉक्स में टाइप किया है।" तो मुझे लगता है कि आप भाग्य से बाहर हो सकते हैं ... लेकिन क्या आपने 'अधिकतम इनपुट लम्बाई' को 0 पर सेट करने का प्रयास किया है, जो उपयोगकर्ता को नए टैग दर्ज करने से रोक सकता है? – jaudette

उत्तर

31

3.3 के रूप में आप टैग का उपयोग करते समय अपना स्वयं का निर्माण खोज विकल्प निर्दिष्ट कर सकते हैं जो हमेशा शून्य हो जाएगा, इस प्रकार डिफ़ॉल्ट विकल्प को बनाए जाने से रोकता है।

$().select2({ 
    createSearchChoice: function() { return null; }, 
    tags:... 
}); 
+3

@reverbnation उत्तर बेहतर है, यह तकनीकी रूप से काम करता है लेकिन एक हैक का अधिक है, फिर सही व्यवहार – Stefan

+1

@Stefan का उपयोग करके, हाँ, ऐसा करने का कोई कारण नहीं है जब आप इसे एक से अधिक चुनिंदा इनपुट बना सकें। – DiscoInfiltrator

+0

यदि आप वाईआई फ्रेमवर्क - यीविल्स - WhSelect2 का उपयोग कर रहे हैं तो यह उपयोगकर्ता कस्टम टैग अक्षम करने के लिए एक बेहतर तरीका है। जैसा कि आप 'डेटा' संपत्ति को पूर्ववत कर रहे हैं। धन्यवाद। –

16

कभी कभी हम डेवलपर हमारे 7 वीं भावना है कि सामान्य ज्ञान भी मेरे साथ हुआ 2 घंटे के लिए संघर्ष करना पड़ा तो यह मेरी भावना .. क्लिक किया है अगर आप केवल अनुमति प्राप्त मान का चयन करने के उपयोगकर्ता तो इसकी कोई और अधिक चाहते हैं का उपयोग नहीं करते टैगिंग का चयन करें तो tags:true विकल्प को हटाएं और चयन में mulitple विशेषता रखें, सीधे चयन तत्व में विकल्प प्रदान करें या दूरस्थ डेटा लोड करें।

+2

यह सही जवाब है !! – Stefan

+0

वास्तव में अच्छा बिंदु! – bluppfisk