这是我的代码:
$("#hifind-find").keyup(function(){
var val = $(this).val();
if (val.length > 1) {
var posturl = '/hifind/jquery_ui/autocomplete/'+val;
$.post(posturl, function(r) {
$("#hifind-find").autocomplete({
source: r,
delay: 50,
minLength: 2
});
$("#hifind-find").bind('autocompleteselect', function(){
alert('test');
});
}, "json");
}
});
我在#hifind-find 字段中键入一个字母。正如预期的那样,没有任何反应,因为 val 还没有大于 1。我键入第二个字符。正如预期的那样,帖子触发并且萤火虫中的响应是我所期望的。但是 jquery ui 插件不显示字段下方的匹配项。如果我然后退格一次,然后再次输入第二个字符,则帖子会再次触发,这一次会显示选项。结果总是在连续第二次进行相同的搜索时显示。所以...
- ba(未提供选项)
- 退格两次,然后...
- ba(“banana”作为选项提供,“babe ruth”等)。
但是,如果我重新加载,然后...
- ba(没有提供)
- ap(没有提供)
- ba(没有提供)
- ap(什么都没有,依此类推,直到我连续两次进行相同的搜索)
我可以在 firebug 中看到回调的响应每次都是相同的,并且包含正确的数据。
想法?