Answers:
这里是适当的文件为jQueryUI的部件。没有用于限制最大结果的内置参数,但是您可以轻松实现:
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
您可以为source
参数提供一个函数,然后调用slice
过滤后的数组。
这是一个工作示例: http : //jsfiddle.net/andrewwhitaker/vqwBP/
您可以将minlength
选项设置为较大的值,也可以像这样通过CSS进行操作,
.ui-autocomplete { height: 200px; overflow-y: scroll; overflow-x: hidden;}
就像“ Jayantha”一样,说使用CSS是最简单的方法,但这可能会更好,
.ui-autocomplete { max-height: 200px; overflow-y: scroll; overflow-x: hidden;}
注意唯一的区别是“最大高度”。这将允许小部件将尺寸调整为较小的高度,但不超过200像素
添加到安德鲁的回答,你甚至可以引入一个maxResults
属性,并使用它是这样的:
$("#auto").autocomplete({
maxResults: 10,
source: function(request, response) {
var results = $.ui.autocomplete.filter(src, request.term);
response(results.slice(0, this.options.maxResults));
}
});
jsFiddle:http : //jsfiddle.net/vqwBP/877/
这应该有助于代码的可读性和可维护性!
我可以通过在CSS文件中添加以下内容来解决此问题:
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
}
当您将自动完成附加到输入时,jQuery允许您更改默认设置:
$('#autocomplete-form').autocomplete({
maxHeight: 200, //you could easily change this maxHeight value
lookup: array, //the array that has all of the autocomplete items
onSelect: function(clicked_item){
//whatever that has to be done when clicked on the item
}
});
插件: 带有滚动条的jquery-ui-autocomplete-scroll和限制结果很漂亮
$('#task').autocomplete({
maxShowItems: 5,
source: myarray
});
没有最大参数。
max
自动完成功能没有可调用的选项