我正在使用jqueryUI自动完成脚本。问题是我想将它提供的建议数量限制为6,因为它提供了太多建议。这是脚本:
$.get('file.txt', function(x) {
var i;
var pos = 0;
var availableTags = [];
x = x.split(/[\#\n]+/);
for (i = 0; i < x.length; i = i + 4)
availableTags[pos++] = x[i];
console.log(availableTags);
$(function() {
$("#search").autocomplete({source: availableTags});
response(availableTags.slice(0, 6));
});
}, 'text');
我发现并excellent solution by Andrew Whitaker但无法使其发挥作用。他建议使用
response(availableTags.slice(0, 6));
任何限制我的脚本建议数量的解决方案?
答案 0 :(得分:2)
您可以覆盖_renderMenu函数以显示最多N个项目
$.ui.autocomplete.prototype._renderMenu = function( ul, items ) {
var self = this;
$.each( items, function( index, item ) {
if (index < 10) // here we define how many results to show
{self._renderItem( ul, item );}
});
}
或切片响应:
$("#search").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(availableTags, request.term);
response(results.slice(0, 6));
}
});
答案 1 :(得分:0)
$(function() {
var limit = 3;
var tags = [
"hello","hi", "him", 'here',"his", "honour", "banquet"
];
$( "#search" ).autocomplete({
source: tags.slice(0, limit),
});
});
请找到上述解决方案,并告诉我它是否适合您。