使用JavaScript初始化BootStrap的问题



我有一个简单的Bootstrap预输入,看起来像这样:

<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转换预输入初始化。当我写这个的时候,我的预输入不工作:

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根本不起作用。

我一定错过了一些琐碎的东西,但是,在盯着这个看了很长一段时间之后,我仍然没有看到它。

任何想法吗?

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

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

最新更新