我需要在此自动完成jquery ui脚本中限制结果(最多10个)。我知道我必须使用切片功能,但我无法将其正确放入脚本中。在此先感谢您的帮助。
$(document).ready(function() {
var myArr = [];
$.ajax({
type: "GET",
url: "events.xml", // change to full path of file on server
dataType: "xml",
success: parseXml,
complete: setupAC,
failure: function(data) {
alert("XML File could not be found");
}
});
function parseXml(xml)
{
//find every query value
$(xml).find("topevent").each(function()
{
//you are going to create an array of objects
var thisItem = {};
thisItem['label'] = $(this).attr("label");
thisItem['value'] = $(this).attr("value");
myArr.push(thisItem);
});
}
function setupAC() {
$("input#searchBoxEv").autocomplete({
source: myArr,
minLength: 3,
select: function(event, ui) {
var urlString = "http://mysite.com/" + "eventi/" + (ui.item.value) + ".html";
$("input#searchBoxEv").val(urlString);
location.href=urlString;
}
});
}
});
答案 0 :(得分:2)
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
你可以在这里找到更多文档..
答案 1 :(得分:0)
最后我解决了在jquery.ui css中添加两个参数的问题:max height和overflow:hidden。自动填充初始化为3°字母,以获得更好的结果,人们必须输入更多。它适用于五种不同的浏览器(IE,Chrome,Opera,Firefox,Safari)。
.ui-autocomplete {position:absolute; cursor:default;文本对齐:左;最大高度:245px;溢出:隐藏; }