2015-05-27 14 views
5

मैं अपने पृष्ठ पर गतिशील चयन कार्यक्षमता प्रदान करने के लिए चयन 2 का उपयोग कर रहा हूं।चयन 2 त्रुटियां - कोई प्रतिक्रिया

$("#Spon_Index").select2({ 
    placeholder: "Type to select a sponsor", 
    minimumInputLength: 3, 
    multiple: false, 
    width: 400, 
    ajax: { 
     url: "../control/autocomplete_sponsor.aspx", 
     data: function(term) { 
      return term; 
     }, 
     results: function(data, page) { 
      alert(results); 
      return { 
       results: data 
      } 
     }, 
     formatResult: function(data) { 
      return data.text; 
     }, 
     formatSelection: function(data) { 
      return data.id; 
     }, 
     escapeMarkup: function(m) { 
      return m; 
     } 
    } 
}); 

फ़िडलर का उपयोग करना, मैं देख सकता हूँ कि मैं autocomplete_sponsor.aspx से सही वापसी हो रही है, उदाहरण: - -:

[{"id":"12","text":"Smiths"},{"id":"118","text":"Dr Smiths"}] 

हालांकि, कुछ भी नहीं है

यहाँ कोड है नियंत्रण के साथ सब कुछ हो रहा है। यह या तो 'सर्च कर रहे हैं', या कुछ भी नहीं है ... मैं डेवलपर उपकरण देख लिया है पर लटकी हुई है और उसमें कोई त्रुटि है: -

Uncaught TypeError: Cannot read property 'slice' of undefined 

मैं इतने पर कुछ अन्य समाधान को देखा है, और करने की कोशिश की के विभिन्न refactorings मेरा कोड यह काम करने के लिए है, लेकिन अब मैं आधिकारिक तौर पर विचारों से बाहर हो गया हूं .... उम्मीद है कि यह वास्तव में कुछ आसान है जिसे मैंने याद किया है।

+0

यदि आप उस त्रुटि के लिए ट्रेसबैक शामिल कर सकते हैं, तो यह समस्या में कुछ अंतर्दृष्टि प्रदान कर सकता है। –

उत्तर

4

Select2 बस JSON स्ट्रिंग के बजाय जावास्क्रिप्ट ऑब्जेक्ट की आवश्यकता है। नीचे दिया गया कोड select2 v4.0.3 के लिए है, इसलिए results को processResults द्वारा प्रतिस्थापित किया गया था।

$("#Spon_Index").select2({ 
    placeholder: "Type to select a sponsor", 
    minimumInputLength: 3, 
    multiple: false, 
    width: 400, 
    ajax: { 
     url: "../control/autocomplete_sponsor.aspx", 
     data: function(term) { 
      return term; 
     }, 
     processResults: function(data, page) { 
      return { results: JSON.parse(data) }; 
     }, 
    } 
}); 
संबंधित मुद्दे