У меня такой же вопрос, как: Ограничить результаты автозаполнения jquery ui с помощью функции slice, искал решение (кроме скрытия с использованием CSS) в течение последних 2 часов или около того.
Я хочу добавить эту функцию slice, здесь: qaru.site/questions/57247/...
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
И я хотел бы, чтобы он работал со сценарием в этом примере: http://jsfiddle.net/h5E6C/ (не мой массив/скрипт, но моя настройка похожа).
Я ищу решения этого вопроса, поэтому, пожалуйста, не отвечайте на предложение использовать PHP/SQL для фильтрации данных перед отправкой и т.д. Не значит быть грубым..
Я могу заставить любой скрипт работать независимо друг от друга, но не вместе:/
Выяснилось, просто нужно добавить
.slice(0, 10)
к другой функции ответа.
До:
function custom_source(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(schools, function(value) {
return matcher.test(value.value)
|| matcher.test(value.nickname);
}));
}
После:
function custom_source(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(schools, function(value) {
return matcher.test(value.value)
|| matcher.test(value.nickname);
}).slice(0, 10)
);
}
Думал, что я уже это пробовал, но раньше я должен был помещать функцию среза в неправильное место.