首次加载页面时,Jquery UI 自动完成功能不起作用

Posted

技术标签:

【中文标题】首次加载页面时,Jquery UI 自动完成功能不起作用【英文标题】:Jquery UI autocomplete is not working when first time page loading 【发布时间】:2019-11-05 23:11:01 【问题描述】:

我的 html 页面包含一个文档搜索文本框,它会根据用户输入自动完成文档名称。文档名称通过 Ajax 调用来自服务器端脚本。以下代码运行良好,但唯一的问题是当用户打开新浏览器并输入 3 个字符的自动完成建议时未填充。如果用户输入 4 个字符它可以工作,那么用户输入 3 个字符后它也可以正常工作。

$('#global-doc-search-box').keyup(function(e)
   thisObj.searchGlobalDocuments(e);
);

$("#global-doc-search-box").autocomplete(
    source: [value: 'test', id: 'test', label: 'test'],                           
    delay: 0
).autocomplete("instance")._renderItem = function(ul, item)   
   return $("<li></li>")
   .append("<div style='background-color: #fff;display:block;min-width:200px;padding: 10px;'><a style='text-decoration: none;' href='#' target='_blank'>" + item.value + "</a></div></li>")
   .appendTo(ul);
;

【问题讨论】:

【参考方案1】:

我已经解决了我的问题。我刚刚删除了显式的 keyup 事件,我们不需要任何显式的 key event 监听器,好像 key event 监听是在 autocomplete 函数中隐式配置的。

【讨论】:

以上是关于首次加载页面时,Jquery UI 自动完成功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Jquery UI - 自动完成不是一个功能

JS或JQUERY如何判断A页面是从其他页面返回的,而不是首次加载

JQuery ajax操作,怎么让页面首次加载时就呈现所有数据

jQuery UI 自动完成 - 输入与结果集不匹配时不显示结果

jQuery-UI 自动完成不会显示在 jQuery-UI 对话框中

(jQuery Autocomplete)禁用键盘命令?