使用JavaScript初始化BootStrap Typeahead时遇到问题

时间:2013-04-20 22:18:17

标签: javascript jquery twitter-bootstrap

我有一个简单的Bootstrap typeahead,如下所示:

<input tabindex="1" type="text" name="q" class="search-query" id="wSearch" 
    data-provide="typeahead" data-items="3" 
    data-source='["AL", "AK", "AZ", "AR", "CA", "CO", "CT"]' 
    placeholder="Search">

这很好用。

那就是说,我希望数据来自ajax调用,所以我想用JavaScript转换typeahead初始化。当我写这篇文章时,我的预先输入不起作用:

var options = {
    items: 3,
    source: ["AL", "AK", "AZ", "AR", "CA", "CO", "CT"]
};
$("#wSearch").typeahead(options);

...

<input tabindex="1" type="text" name="q" class="search-query" 
    id="wSearch" placeholder="Search">

我可以单步执行代码并看到它正在执行,我没有看到任何JavaScript错误,但是typeahead根本不起作用。

我一定会错过一些微不足道的东西但是,在盯着这一段很长一段时间之后,我仍然没有看到它。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在DOM准备好之前,$(document).ready();试图加载代码。

$(document).ready(function(){
   var options = {
    items: 3,
    source: ["AL", "AK", "AZ", "AR", "CA", "CO", "CT"]
   };
   $("#wSearch").typeahead(options);
});