限制的结果自动完成jQuery用户界面与功能片(Limit results autocomplete

2019-09-24 05:59发布

我需要限制在该自动完成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;

                           }
    });
}
}); 

Answer 1:

$("#auto").autocomplete({
    source: function(request, response) {
        var results = $.ui.autocomplete.filter(myarray, request.term);

        response(results.slice(0, 10));
    }
});

你可以在这里找到更多的文档..

http://jqueryui.com/autocomplete/



Answer 2:

最后我解决了添加在jquery.ui CSS两个参数的问题:最大高度和溢出:隐藏。 自动填充在3℃信初始化,争取更好的成绩的人必须键入更多。 它的工作原理有五个不同的浏览器(IE,铬,歌剧,火狐,Safari浏览器)。

的.ui-自动填充{位置:绝对的; 光标:默认; 文本对齐:左; 最大高度:245px; 溢出:隐藏; }



文章来源: Limit results autocomplete jquery ui with slice function