我正在使用 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/