2015-05-27 4 views
21

मैं नए Select2 v4.0 को आजमा रहा हूं जिसमें बहुत सारे सुधार हैं। मैं मुख्य रूप से tags सुविधा में रूचि रखता हूं। मैं AJAX के माध्यम से टैग खोजने में सक्षम होना चाहता हूं और केवल दिखाए गए परिणामों से एक टैग चुनने में सक्षम हूं और नए टैग बनाने में सक्षम नहीं हूं। कार्यक्षमता StackOverflow के समान है - यदि आपके पास आवश्यक प्रतिष्ठा नहीं है तो आप नए टैग नहीं बना सकते हैं, लेकिन आप अभी भी मौजूदा टैग के साथ एक प्रश्न टैग कर सकते हैं।चयन 2 v4.0 के साथ नए टैग बनाने में अक्षम कैसे करें?

यहां मेरे कोड के साथ jsfiddle है जो उदाहरणों से लिया गया है। उदाहरण में, आप नए टैग बना सकते हैं जो मैं सीमित करना चाहता हूं। उपयोगकर्ता केवल उस सूची से टैग का चयन करने में सक्षम होना चाहिए जो गिटहब से AJAX के माध्यम से पुनर्प्राप्त किया गया है।

क्या कोई इस कार्यक्षमता को अक्षम करने के बारे में जानता है?

उत्तर

35

यह काम करना चाहिए - Select2 के प्रारंभ में, इसलिए जैसे createTag समारोह से अपरिभाषित कोशिश लौटने वाले:

createTag: function(params) { 
       return undefined; 
      } 
+1

देर से प्रतिक्रिया के लिए खेद नहीं देगा। ऐसा लगता है कि मेरे लिए ठीक काम कर रहा है। साझा करने के लिए धन्यवाद! :) – tftd

+0

@tftd क्या आप इस समाधान का उपयोग करके पहेली को अपडेट कर सकते हैं, क्योंकि मैंने आपके द्वारा भेजी गई पहेली को अपडेट करने का प्रयास किया था, लेकिन इसमें काम नहीं कर रहा था। –

+6

जाहिर है इसे प्री-4.0 (3.5.3) चयन 2 में 'createSearchChoice() 'कहा जाता था। जब वे 4.0 पर चले गए तो उन्होंने कई फ़ंक्शन नाम बदल दिए। –

2

चयन 2 प्रारंभ करते समय आप tags: true को हटाकर टैग अक्षम कर सकते हैं। या वैकल्पिक रूप से, चयन 2 प्रारंभ करते समय tags: false सेट करना। टैग केवल if the tags option is truthy सक्षम हैं, जो तब होता है जब आप true में गुजर रहे हैं।

+0

मैं निम्नलिखित [दृश्य प्रभाव] के लिए देख रहा हूँ (https://camo.githubusercontent.com/d700cc5a313d0dfb98450132b62e1da0fd727ef1/687474703a2f2f6165686c6b652e6769746875622e636f6d2f7461672d69742f5f7374617469632f73637265656e73686f742e706e67)। अगर मैं 'टैग: झूठा' सेट करता हूं (या बस इसे छोड़ देता हूं), तो यह एक चयन बॉक्स पर वापस जायेगा। मेरे मामले में मुझे इसे एक चुनिंदा बॉक्स के बजाय [टैग-इट] (http://aehlke.github.io/tag-it/) की तरह काम करने की आवश्यकता है। – tftd

+0

मुझे पूरी तरह से यकीन नहीं है कि आपका क्या मतलब है, और दुर्भाग्य से बिना किसी jsfiddle/jsbin के देखने के लिए (जो अभी आप चाहते हैं बनाम बनाम), आपके शीर्षक में प्रश्न के पिछले कुछ भी जवाब देना मुश्किल है। मुझे यकीन नहीं है कि "एक चयन बॉक्स पर वापस जाएं" से आपका क्या मतलब है। क्या आप मौके से 'एकाधिक' विकल्प की तलाश में हैं? –

+0

मैंने शायद इसे पर्याप्त रूप से समझाया नहीं - इसके बारे में खेद है। मेरा मतलब यह था कि अगर मैं 'टैग: झूठा' हटा देता हूं तो यह एक चुनिंदा बॉक्स बन जाएगा जैसे [दूरस्थ डेटा लोड हो रहा है] (https://select2.github.io/examples.html) उदाहरण। मैंने अपना प्रश्न अपडेट कर लिया है। उम्मीद है कि यह और अधिक समझ में आता है? – tftd

15

मैं भी इस के साथ संघर्ष कर रहा है, लेकिन कुछ ही घंटों के बाद काम मिल गया।

मैंने कुछ टोकन सेपरेटर्स निर्दिष्ट किए थे (क्योंकि मेरे आगंतुकों को वेबसाइट में एक अलग स्थान पर टैग बनाने की अनुमति है)। tags कॉन्फ़िगरेशन false पर सेट होने पर भी seperators अभी भी लागू होते हैं।

समाधान: tags: false और tokenSeperators के लिए कोई मूल्य न जोड़ें। multiple: true रखें।

संबंधित मुद्दे