2013-05-23 7 views
5

से डबल फ़िल्टरिंग गैर-मिलान परिणामों से बूटस्ट्रैप टाइपहेड को कैसे रोकूं मैं jQuery एजेक्स के साथ बूटस्ट्रैप टाइपहेड का उपयोग कर रहा हूं जिसे हम फ़िल्टर # 1 पर कॉल करेंगे। मेरे मामले में, "अजीब टैंक" या "ग्रेटटैंक" जैसे अजाक्स खोज दोनों "ग्रेट टैंक" AJAX परिणाम उत्पन्न करते हैं लेकिन टाइपहेड दूसरे परिणामों का अनुमान लगा रहा है और डबल फ़िल्टरिंग (हम फ़िल्टर # 2 को कॉल करेंगे) दूसरे परिणाम के कारण अंतरिक्ष। यह भी संभव है कि मेरा AJAX परिणाम वापस टाइप किए गए से अलग हो सकता है। मुझे विश्वास करने के लिए टाइपहेड की आवश्यकता है कि प्रदान किए गए परिणाम मान्य थे और सटीक लोअरकेस टेक्स्ट मैच के बावजूद उन्हें प्रदर्शित करते हैं।मैं एजेक्स कॉल

मैं निम्नलिखित व्यवहार करना चाहते हैं: यदि परिणाम में मेल खाने वाले शब्द है यह

  • उजागर यदि वहाँ एक मेल नहीं खाने वाले शब्द यह हाइलाइट नहीं किया गया दिखाते हैं, लेकिन में छोड़

    1. परिणाम सूची बनाम इसे फ़िल्टरिंग।

    (1) ओओटीबी काम करता है, लेकिन (2) गायब विशेषता है जिसे मैं ढूंढ रहा हूं। अगर मेरे पास (1) और (2) नहीं है तो मैं ड्रॉप (1) के साथ ठीक रहूंगा। http://jsfiddle.net/PE9mN/

     $("#title2").typeahead({ 
         source: function(request, response) { 
           var mockResults2 = ["Great Tank War", 
                "Great Train Robbery", 
                "other random result my server produced"]; 
          response(mockResults2); 
          // I expect this to display both items regardless of $("#title2").val() 
          // In my case, the server was smart enough to realize that 
          // "greattank" may match "great tank" 
          // and it even added a 3rd value that I want to display. 
          } 
          }); 
    

    धन्यवाद:

    यहाँ एक बेला उदाहरण है।

  • उत्तर

    11

    आप Typeahead के लिए निम्न विकल्प जोड़ते हैं:

    matcher: function(item) { 
         return true; 
        } 
    

    तो कोई "दूसरी" फ़िल्टरिंग लागू करेगा।

    +0

    आप इसे किसी न किसी प्रारंभ में ऐसा कर सकते हैं। अगर मैं कर सकता तो मैं अधिक उत्साह दूंगा। धन्यवाद!! – JStark

    +0

    मुझे सौभाग्य से यह समाधान मिला। धन्यवाद – Bujji

    0

    आप के रूप में

    नीचे
    //Typeahead autocomplete for address 
        $('input.typeahead').typeahead({ 
         ajax: { 
          ..... 
         }, 
         matcher: function() { return true; } 
        }); 
    
    संबंधित मुद्दे