我在项目中使用JQuery Autocomplete。 我希望将此自动填充的来源设置为文本文件。
text.txt文件的内容
[{ label:"AAA", url:""},
{ label:"BBB", url:""},
{ label:"CCC", url:""},
]
我如何将这些数据实现到JQuery自动完成中。 我正在尝试这个,但这不起作用。
$( "#textbox" ).autocomplete({
source: 'text.txt',
});
其中textbox
是我的文本框的id,text.txt是文本文件。
如果有人可以帮助我,我很高兴。
答案 0 :(得分:1)
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'
});
希望这有帮助。