我正在使用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
我糾正 - 奧列格是正確的。 –