我正在使用JQuery UI自动完成,为不同的领域。为了获取数据,我使用一个函数作为源。它的工作很棒! 我想知道是否有一种方法不在源中使用匿名函数,而是声明一个通用的函数,该函数将有一个参数重定向到正确的URL。 我在JS和JQuery方面很新,所以我不知道参数请求和响应来自匿名函数。 这里是我想要做的事:JQuery自动完成源是一个函数
$ac.autocomplete({
//Call the function here, but what are the parameter request and response???
source: autocomplete(),
minLength: 1
});
这里是我想打电话
function autoComplete(request, response, url) {
$.ajax({
url: '/Comp/'+url,
dataType: "json",
type: "POST",
success: function (data) {
response($.map(data, function(item) {
return { label: item, value: item, id: item };
}));
}
});
}
非常感谢您的帮助作用。
ID是一个默认字段,请参阅此处的示例源代码:http://jqueryui.com/autocomplete/#remote –
@FelixEve:对不起,但我不同意你的看法。 [The documentation](http://api.jqueryui.com/autocomplete/#option-source)只描述了服务器响应的两个标准表示:字符串数组和具有'value'和'label'属性的项目数组。如果这些项目具有其他自定义属性,那么这些属性将被保存,但不会以任何方式由jQuery UI自动完成使用。必须覆盖[_renderItem](http://api.jqueryui.com/autocomplete/#method-_renderItem)方法,例如在渲染或选择过程中使用像'id'这样的属性。 – Oleg
我纠正 - 奥列格是正确的。 –