JQuery UI自动完成立即消失
JQuery UI autocomplete disappears immediately
当使用JQuery UI的自动补全功能时,下拉结果似乎永远不会出现。但是,在调试时,该列表在消失之前会出现一小段语句。我的代码如下:
HTML:<input type="text" placeholder="search" class="myautocomplete" />
<script>
$(document).load(function(){initializeAutocomplete()});
</script>
Javascript: function initializeAutocomplete() {
$('.myautocomplete').autocomplete({delay: 300, minLength: 2, source: autocomplete});
}
function autocomplete(request, responseCallback) {
var dataUrl = "http://something.com/Suggestions.json?search_string=" + request.term;
var suggestions = [];
$.getJSON(dataUrl, function(json) {
$.each(json.AutoSuggestions, function(index) {
suggestions.push(this.SearchTerm);
});
});
responseCallback(suggestions);
}
是什么导致自动完成列表立即消失?
这是因为getJSON
是异步的,所以responseCallback
函数在数组为空时被调用,将函数移动到getJSON函数内的每个循环之后。
试着改一下:
function initializeAutocomplete() {
$('.myautocomplete').autocomplete({delay: 300, minLength: 2, source: autocomplete});
}
function autocomplete(request, responseCallback) {
var dataUrl = "http://something.com/Suggestions.json?search_string=" + request.term;
var suggestions = [];
$.getJSON(dataUrl, function(json) {
$.each(json.AutoSuggestions, function(index) {
suggestions.push(this.SearchTerm);
});
responseCallback(suggestions);
});
}
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Jquery UI对话框不会消失
- jQuery Mobile:UI面板内容在Android 4.4.2上第二次消失
- 语义 UI 模态导致我的元素在关闭后从 DOM 中消失
- jQuery UI 可拖动克隆助手消失
- 角度 UI 日历事件消失
- 选择日期时间选择器在单击JQuery UI对话框时消失
- 路由:鼠标悬停在ui sref上时可见的参数值在单击时消失
- AngularJS/UI引导程序自定义$validator和getterSetter使值消失
- jQuery UI对话框:对话框元素从DOM中消失
- 当我添加最后一个滑块时,所有的jQuery UI效果都会消失
- 剑道UI工具提示有时会在应该消失的时候仍然可见
- 当使用jQuery UI可排序时,页边距消失
- jQuery UI日期picker -为什么第二个日期picker在焦点上消失
- 剑道UI树视图精灵在拖放后消失
- 改变State UI Routing后按钮消失
- 正在使用jQuery UI显示带有模式消息的消失元素
- 鼠标悬停时Jquery UI Multicolumn自动完成下拉菜单消失
- JQuery UI自动完成立即消失
- 当angular-ui-router改变路由时,Facebook的社交插件就会消失