我们如何使用无限滚动进行自动完成组合?我找到了一个带有无限滚动的自动完成 jquery ui,但是这个自动完成通过 pagemethods 获取数据。但我想在 mvc 应用程序中使用它,并想使用控制器的操作来检索数据。要通过 pagemethods 使用此自动完成功能,应该这样做:
$(document).ready(function () {
//Input for testing purposes
$("#inp").smartautocomplete({
getDataFunc: getData,
pageSize: 15,
autoFocus: true
});
});
//Function the SA plugin called when data is needed.
var getData = function (input, pageIndex, pageSize, callback) {
PageMethods.GetData(input, pageIndex, pageSize, function (response) {
if (response) {
response = $.map(response, function (item) {
return {
label: item,
value: item
}
});
callback(response);
}
else callback();
});
};
但我改变了使用 $.ajax 获取数据的方式:
var getData = function (input, pageIndex, pageSize, callback) {
$.getJSON(
{ url: '@Url.Action("GetData", "Home")' },
{ input: input, pageIndex: pageIndex, pageSize: pageSize },
function (response) {
if (response) {
response = $.map(response, function (item) {
return {
label: item,
value: item
};
});
callback(response);
}
else callback();
});
};
但它不起作用,并且没有调用该动作。此自动完成功能可在此处访问: http: //www.codeproject.com/Articles/325719/JQueryUI-smartAutocomplete? fid=1683905
我想知道是否有任何其他解决方案可以通过无限滚动自动完成