在我的html页面中,我正在尝试添加Typeahead以进行自动填充,但我无法解决与 TypeError 和 ReferenceError 相关的一个问题。
我在CodePen上尝试了一个样本并且运行正常。 Click Here
但在实际页面中,我收到了这些错误。
错误
ReferenceError: _ is not defined
.mixin(Typeahead.prototype, {
typeahe...?body=1 (line 87, col 2)
TypeError: $(...).typeahead is not a function
HTML代码
var subjects = ['PHP', 'MySQL', 'SQL', 'PostgreSQL', 'HTML', 'CSS', 'HTML5'];
$('#search').typeahead({source: subjects})
JS文件的安排
<%= javascript_include_tag 'jquery.js' %>
<%= javascript_include_tag 'angular.min.js' %>
<%= javascript_include_tag 'jquery-ui.min.js' %>
<%= javascript_include_tag 'bootstrap.3.2.js' %>
<%= javascript_include_tag 'typeahead.js' %>
<%= javascript_include_tag 'jquery.backstretch.min.js' %>
<%= javascript_include_tag 'jquery.scrollTo.min.js' %>
请建议解决此问题。我在google和stackoverflow上看到了一些解决方案,但没有任何工作。
请查看更新后的答案区域
答案 0 :(得分:2)
非常非常愚蠢的错误 - 可能是我错了......
我发现了我添加的Bootstrap Javascript JS文件的问题。
在示例代码中,我添加了bootstrap 2.3.2版本并且工作正常。
twitter-bootstrap/2.3.2/js/bootstrap.min.js
但是在我的html页面中,我添加了bootstrap 3.2 js版本并按照我的假设创建了冲突。
<%= javascript_include_tag 'bootstrap.3.2.js' %>
现在我刚用2.3.2版本替换了3.2版本,工作正常。