在我提出问题之前,我会陈述一些我正在使用的工具:
我只需要一个文本字段即可完美地运行。但是,当我添加另一个文本字段并尝试将类型头处理程序连接到第二个时,第二个无法执行AJAX调用,我正在试图弄清问题是什么。
HTML代码:
<div id = "tester" class="well">
<input id = "test" class="typeahead" type="text" placeholder="Search" data-provide="typeahead" autocomplete="off" spellcheck="false" dir="auto" style="position: relative; vertical-align: top;">
</div>
<div id = "tester2" class="well">
<input id = "test2" class="typeahead" type="text" placeholder="Search" data-provide="typeahead" autocomplete="off" spellcheck="false" dir="auto" style="position: relative; vertical-align: top;">
</div>
使用Javascript:
<script src="assets/js/jquery-1.11.0.js"></script>
<script src="assets/js/bootstrap.js"></script>
<script>
$(function(){
$('.typeahead').typeahead({
source: function(typeahead, query){
$.ajax({
url: 'my_controller',
type: 'POST',
data: 'query=' + query,
dataType: 'JSON',
async: true,
success: function(data){
typeahead.process(data);
}
});
}
});
});
</script>
AJAX调用甚至无法执行第二个类型,因为第一个工作正常。我不知道我错过了什么。我甚至按类名选择输入。
我非常感谢任何帮助或指导。
这是一个jsfiddle:http://jsfiddle.net/pK6g5/
谢谢。
答案 0 :(得分:1)
你的“modified bootstrap-typeahead.js”库使用$.browser
,它自1.9以来就不在jQuery中。为了保留它,您可以添加Jquery Migrate。
我刚刚将这个库添加到您的小提琴中,它似乎有效:FIDDLE