jQueryUI 自动完成需要属性value
和label
. 所以url
默认情况下不起作用。所以尝试重命名这些属性,看看它是否有效。
如果您想或需要使用其他属性,您可以在原始的基础上编写一个自定义的自动完成插件,只覆盖必要的方法。
例如(使用您的label
及url
以上):
if (typeof ($.ui.autocomplete) != 'undefined') {
$.widget('custom.autocompleteCustom', $.ui.autocomplete, {
_renderItem: function (ul, item) {
// Customize the <li> below to influence what is actually shown
return $('<li>')
.append($('<a>').html(item.label + '<br>' + item.url))
.appendTo(ul);
}
});
}
您现在已经注册了一个名为autocompleteCustom
. 你可以像这样使用它:
$('#someElement').autocompleteCustom({
minLength: 2,
select: function (event, ui) {
// You can access ui.item.label, ui.item.url here
},
source: '/some/url'
});
希望这可以帮助。