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

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

 

这很好用。

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

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

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

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

有什么想法吗?

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

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