2012-12-03 20 views
13

मैं कुछ AJAX के साथ jQuery UI Autocomplete का उपयोग कर रहा हूं (डेटा टाइपिंग बंद होने तक खींच नहीं लिया जाता है)। एक बार डेटा मिलने के बाद मैं इसे बनाना चाहता हूं, फिर स्वत: पूर्ण खोज परिणाम के रूप में पॉप-अप होगा। यह काम करता है, हालांकि जब मैं फिर से टाइप करना शुरू करता हूं (ड्रॉपडाउन तब तक ट्रिगर नहीं होता जब तक कि मैं टाइप नहीं करता क्योंकि यह टाइपिंग बंद होने तक प्रारंभ नहीं होता है)।ट्रिगर jQuery स्वत: पूर्ण मैन्युअल रूप से

मेरे कोड:

var availableTags = [ 
    "Perl", 
    "PHP", 
    "Python", 
    "Ruby" 
]; 
$('input#mainSearchBox').autocomplete({ 
    source: availableTags, 
     minLength: 0 
}); 
    $('input#mainSearchBox').data('autocomplete').menu.active; 

अंतिम भाग स्वत: पूर्ण सक्रिय करने के लिए का प्रयास किया गया, लेकिन यह विफल रहता है।

+0

आप कुछ AJAX_ साथ _autocomplete उपयोग कर रहे हैं। उस स्थिति में, पॉपअप तब दिखाई देगा जब (i) आपने मिनी लम्बाई वर्ण टाइप किए हैं (ii) देरी मिलीसेकंड आपके अंतिम कीस्ट्रोक के बाद से गुजर चुके हैं (iii) अजाक्स परिणाम प्राप्त और संसाधित किए गए हैं। क्या आप वाकई इसे समझते हैं? –

उत्तर

30

search method चाल करना चाहिए:

$('input#mainSearchBox').autocomplete("search"); 

Fiddle

+1

आह! ओएमजी, मैंने उपयोग किया: \t \t $ ('इनपुट # मुख्य खोज बॉक्स')। स्वतः पूर्ण ('खोज', 'डेमो-वैल्यू'); मुझे इसे हटा देना चाहिए था ... – PolishHurricane

+0

हाहा, मिनी लम्बाई यहां कुंजी है। इसके बिना काम नहीं करता है। –

4

आप मैन्युअल रूप से स्वत: पूर्ण चालू करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं:

var textbox = $('input#mainSearchBox'); 
var autocompleteBox = textbox.autocomplete('widget'); 

// toggle the autocomplete widget 
autocompleteBox.is(':hidden') ? 
    textbox.autocomplete('search', textbox.val()).focus() : 
    autocompleteBox.hide(); 

इस कोड jQuery स्वत: पूर्ण डेमो साइट (लाइनों 127-141) पर combobox example के स्रोत में पाया जा सकता।