我在选择或焦点功能响应时遇到了很多麻烦。展开结果后,我什至无法杀死选择中的结果。我阅读了很多关于某些版本的 jQuery UI 与主 jQuery 库冲突的信息,但几乎任何组合似乎都不起作用。更糟糕的是,它不会在控制台中引发任何错误。选择/焦点下方的所有内容似乎都可以正常工作。我将一些 HTML 附加到每个项目,并且在我的应用程序中,我根据一个类对它们进行不同的样式设置。我想使用 select 在输入本身下方使用 ui.item.label 附加一些额外的 HTML(如标记系统)。在此期间,我只是使用警报进行故障排除。
这是一个有我一半工作代码的小提琴。
$(function () {
var availableItems = [{
value: "recent",
label: "Recent",
classN: "heading"
}, {
value: "all",
label: "All",
classN: "all"
}, {
value: "lorem",
label: "Lorem",
classN: "lorem"
}, ];
$(".post-to").autocomplete({
source: availableItems,
minLength: 0,
focus: function (event, ui) {
$('.post-to').val(ui.item.label);
alert(ui.item.label);
return false;
},
select: function (event, ui) {
alert(ui.item.label);
return false;
}
}).on("focus", function () {
$(this).autocomplete("search", '');
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<span class='" + item.classN + "'></span><span>" + item.label + "</span>")
.appendTo(ul);
};
});