2012-06-02 15 views
7

जोड़ें और हटाएं हम बूटस्ट्रैप टाइपहेड गतिशील रूप से जोड़ और निकाल सकते हैं।बूटस्ट्रैप टाइपहेड गतिशील रूप से

कुछ मामलों में मुझे टाइपहाइड कार्यक्षमता को एक टेक्स्टबॉक्स में देने की आवश्यकता है और किसी अन्य मामले में उसी इनपुट बॉक्स के लिए इस कार्यक्षमता को हटाने की आवश्यकता है।

उत्तर

2

मैं

$('.typeahead').removeClass('dropdown-menu'); 

और

$('.typeahead').addClass('dropdown-menu'); 

का इस्तेमाल किया है पता चलता है कि ड्रॉप-डाउन सुझाव को छिपाने के लिए।

6

हाँ, आप कर सकते हैं। यह jQuery विधि .unbind()

का उपयोग कर उदाहरण के लिए के साथ काफी आसान है:

$('.typehead').typehead(); 
//and then you can dynamically unbind this plugin 
$('.typehead').unbind(); 
+0

धन्यवाद! आपके समय के लिए। लेकिन मैं unbind का उपयोग नहीं कर सकता। लेकिन मैंने $ ('। टाइपहेड') का उपयोग किया है। RemoveClass ('ड्रॉपडाउन-मेनू'); ड्रॉप-डाउन को छिपाने के लिए यह विधि। और इस वर्ग को फिर से जोड़ें –

+0

सावधानी के साथ इस विधि का उपयोग करें, क्योंकि यह केवल ईवेंटहेड श्रोताओं (जो 'धुंध', 'फोकस', 'इनपुट', और' कीडाउन पर हैं, के बजाय चयनित ईवेंट आइटम से सभी ईवेंट श्रोताओं को हटा देगा ')। –

1

मुझे एक अलग (और हैकर) समाधान का उपयोग करना पड़ा क्योंकि हर बार जब मैं इसे बांधता हूं तो टाइपहेड डेटा बदल रहा हूं और काम के अन्य जवाब नहीं मिल सका। अगर किसी को इसकी ज़रूरत है तो मैं इसे यहां छोड़ दूंगा।

Typeahead

निकालें
var parent = $('.typeahead').parent(); 
var html = parent.html(); 
$('.typeahead).remove(); 
parent.html(html); 

Typeahead

$('.typehead').typehead(); 
6

मैं जानता हूँ कि मैं पार्टी के लिए देर हो रही है जोड़े, नीचे के बजाय सिर्फ छिपाने के निकाल देंगे।

$('.typeahead').typeahead('destroy'); 
+1

+1 यह उसी फ़ील्ड का उपयोग करने में मदद करता है जब पॉप्युलेट किया जाता है (उदाहरण के लिए पॉपअप में) फ़ील्ड स्वचालित रूप से साफ़ नहीं होता है, इस प्रकार 'टाइपहेड' को चुपचाप फ़ील्ड और इसकी सामग्री को परेशान किए बिना हटा दिया जाता है। टाइपहेड – Pierre

+0

को हटाने का यह सही तरीका भी है जो मेरे आवेदन के लिए काम नहीं करता है। यह पूरी तरह से अलग क्षेत्रों में डेटा से छुटकारा पाता है। लेकिन मैं अपने टाइपहेड का फिर से उपयोग करता हूं इसलिए मुझे खींचने वाले डेटा को रीफ्रेश करने के लिए मुझे कुछ तरीका चाहिए। – user2847749

+0

यकीन नहीं है कि यह आपके लिए क्यों काम नहीं करेगा। क्या आप रिमोट या प्रीफेच का उपयोग कर रहे हैं? क्या आप आईई का उपयोग कर रहे हैं? आईई कभी-कभी कैशिंग मुद्दों को पकड़ता है। यदि यह IE है तो आप IE को ठीक करने के लिए '$ .ajaxSetup ({cache: false}) जोड़ने का प्रयास कर सकते हैं। –

1

यह कोड मेरे लिए काम करता है।

var typeaheadEle = $('#myTypeahead').data('typeahead'); 
if (typeaheadEle) {typeaheadEle.source = [];} 

जहां myTypeahead इनपुट तत्व की आईडी है।

+0

यह बूटस्ट्रैप v2.3.2, इमो के लिए उपयोग करने का सबसे अच्छा तरीका है। –

0

मुझे कई डेटा सेट टाइपहेड के लिए सबसे अच्छा काम करने के लिए $('.some-typeahead-parent .tt-dropdown-menu').hide(); मिला।

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