2012-11-30 84 views
1

我想從引導中使用提前輸入功能來使用AJAX調用填充搜索欄下拉菜單。Bootstrap typeahead AJAX調用失敗

我看到一些關於它的帖子,但最好的答案並沒有解決我的問題。

每次我在輸入中點擊或擦除一個新字母時,我都會從jquery.min.js(v1.8.1)中得到一個TypeError: a is undefined

我正在使用bootstrap-typeahead.js v2.1.1。

HTML:

<input class="input-xlarge" id="search" type="text" data-provide="typeahead"> 

JS:

$('#search').typeahead({ 
    source: function (typeahead, query) { 
    return $.get('http://mywebsite.com/search', { query: query }, function(data){ 
    return typeahead.process(data); 
    }); 
} 
}); 

目標:

function search() 
    { 
     echo json_encode(array('toto', 'tata', 'word')); 
    } 

我不明白這個功能是如何崩潰的jQuery我的lib。

+0

它不是功能 「撞車」 的jQuery,但最確定的是它收到的數據,例如「mywebsite」的輸出。 – davidkonrad

+0

這只是一個json編碼數組,我已更新我的示例以顯示它。 – Ludo

回答

0

試試這個

$(function(){ 


      $('#search').typeahead({ 

       source: function (query, process) { 
        return $.getJSON(
         'http://mywebsite.com/search', 
         { query: query }, 
         function (data) { 
          return process(data); 
         }); 
       } 

      });   

     }); 

和JSON出認沽應該是這樣的

[ 
    "toto", 
    "tata", 
    "word" 
] 

和HTML應

<input name="sometext" type="text" class="input-large" id="search" placeholder="type something">