javascript - jQuery UI 自动完成功能只能运行一次

标签 javascript php jquery jquery-ui autocomplete

我正在使用 jQuery UI 作为自动完成字段,但是由于我更改了 php 文件以使其使用 JSON 编码,因此自动完成功能仅在第一次(页面加载时)起作用。第一次后我在控制台中收到的错误是:

Uncaught TypeError: Cannot read property 'label' of undefined

代码:

$project.autocomplete({
minLength: 2,
source: 'includes/search.php',
open: function (result) {
        if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
            $('.ui-autocomplete').off('menufocus hover mouseover');
        }
},
select: function( event, ui ) {
    $project.val(ui.item.label);
    showResultsTitle(ui.item.title);
    return false;
},
focus: function( event, ui ) {
  $project.val( ui.item.label);
  return false;

}

});

我知道更多的人有这个问题,但所提出的解决方案对我来说都不起作用。

最佳答案

问题是 jQuery 也包含在第二个 php 文件中,而不是仅包含在主页 (HTML) 页面中。删除此功能后,自动完成功能在第一次后也能正常工作。

关于javascript - jQuery UI 自动完成功能只能运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38855753/

相关文章:

javascript - 如何清理从所见即所得编辑器收到的数据?

javascript - 多步表单验证失败后 jQuery 中断

PHP:检查字符串是否包含不在数组中的字符

jquery - 在移动 View 而不是桌面 View 中制作响应式 slider

Javascript 猜数字游戏不起作用

Javascript 保持页面状态 - 最佳实践?

javascript - 如果用户已经在 Facebook 粉丝页面上单击了 "like",如何检查我的网站?

php - WordPress 动态自定义菜单未显示正确的结果

javascript - 如何在事件处理程序中重新创建 "this"?

javascript - 如何使用 jquery 动态地给标题和日期时间属性