2012-11-26 20 views
12

मैं टाइपहेड के लिए source बदलने का एक तरीका ढूंढ रहा हूं।बूटस्ट्रैप टाइपहेड - बदलते स्रोत

उदाहरण के लिए, मान लें कि मेरे पास निम्नलिखित 2 सूचियां हैं, और इस मामले पर निर्भर करती हैं, मैं टाइपहेड को एक अलग स्रोत के साथ काम करना चाहता हूं।

var list1 = ["this", "is", "first", "list"], 
    list2 = ["second", "list", "comes", "here"]; 

$("selector").typeahead({source: list1}) 

तब, जब मैं

$("selector").typeahead({source: list2}) 

करते हैं और इनपुट बॉक्स में टाइप करना शुरू, पहली सूची नया एक के नीचे दिखाई देता।

मैं फिर भी

$("selector") 
    .removeData() 
    .typeahead({source: list2}) 

कर की कोशिश की, यह कोई प्रभाव नहीं है।

$("selector").data('typeahead').source = list2; 
+1

संभव डुप्लिकेट: // stackoverflow .com/प्रश्न/13516396/कैसे-टू-अपडेट-द-सोर्स-विकल्प-इन-बूटस्ट्रैप-टाइपहेड-जेएस) –

उत्तर

22

आपने बताया था here के रूप में संबद्ध डेटा क्षेत्र अपडेट करना होगा। पुस्तकालय के नए संस्करणों के साथ यह एक मुद्दा हो सकता है। मेरे लिए, डेटा ('टाइपहेड') परिभाषित नहीं किया गया है - इसके बजाय डेटा ('ttTypeahead') और डेटा ('ttAttrs') है। उनमें से कोई भी स्रोत विशेषता नहीं है।

कुछ कोड पढ़ने के बाद मैं इस के साथ आया था: $('selector').data('ttTypeahead').dropdown.datasets[0].source = mySourceFunction

और यह काम करने के लिए लगता है। ऐसे कई उदाहरण हो सकते हैं, जहां एक से अधिक डेटासेट परिभाषित किए गए हैं।

+0

यह सही है, बस https://github.com/twitter/bootstrap/issues/ पर इस पर आया 1 99 7 # मुद्दा -4011687 –

+0

हां, यह वही लिंक है जो मैंने पाया है :) –

+10

मुझे मिल रहा है अपरिभाषित –

1

दुर्भाग्य से, स्वीकार किए जाते हैं जवाब मेरे लिए काम नहीं किया:

+1

यह ट्विटर टाइपएड 0.11.1 – user1279887

5

Bootstrap-3-Typeahead लाइब्रेरी का उपयोग करते समय इनमें से कोई भी जवाब मेरे लिए काम नहीं करता था। मैं स्रोत को अद्यतन करने के द्वारा प्रारंभ Typeahead को नष्ट करने और फिर से कर रहा था एक नया स्रोत के साथ आरंभ:

$(".typeahead").typeahead("destroy"); 
    $(".typeahead").typeahead({ source: result }); 
[में स्रोत विकल्प अद्यतन करने के लिए कैसे बूटस्ट्रैप-typeahead.js] (http के
+0

में काम नहीं करता है दुर्भाग्य से, यह घटनाओं को नष्ट करने का प्रभाव भी है o n वह तत्व ... – skirato

+0

ठीक है, आपको उन्हें स्रोत –

+0

के साथ लागू करने की आवश्यकता होगी सुनिश्चित करें कि आप जिस ईवेंट हैंडलर का उपयोग कर रहे हैं मैन्युअल रूप से अनबाइंड करना (उदा। 'टाइपहेड: क्लोज़') जब आप 'नष्ट' विधि को कॉल करते हैं। यह विधि इन हैंडलरों को अनबिंड नहीं करती है, इसलिए जब भी आप नष्ट और पुनर्निर्माण करते हैं तो वे प्रदर्शन को अपनाने और खराब करने में सक्षम रहेंगे। – Joel

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