我当前的代码使用的是 jQuery 1.7.x。我想升级到 jQuery 1.8,但我的自动完成功能遇到了问题。我用相同的代码创建了 2 个 jsfiddles。在一个示例中,它可以正常工作,而在另一个示例中则不能。主要问题是当您搜索并单击时,应该显示一个警告框并说明单击了什么。它适用于旧的 jQuery,但不适用于 1.8。
这是工作的 1.7 版本 - http://jsfiddle.net/u2GEe/1/
这是损坏的 1.8 版本 - http://jsfiddle.net/TPWXh/3/
这是代码:
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category search-dropdown-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
$(document).ready(function() {
var data = [
{
label: "anders",
category: "aa"},
{
label: "andreas",
category: "aa"},
{
label: "antal",
category: "aa"},
{
label: "annhhx10",
category: "Products"},
{
label: "annk K12",
category: "Products"},
{
label: "annttop C13",
category: "Products"},
{
label: "anders andersson",
category: "People"},
{
label: "andreas andersson",
category: "People"},
{
label: "andreas johnson",
category: "People"}
];
$("#search_input").catcomplete({
source: data,
select: function(event, ui) {
alert(ui.item.label);
}
});
});
有谁知道这笔交易是什么?