我有一个简单的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);
});