簡體   English   中英

jQuery自動完成推薦

[英]Jquery auto complete recommendation

我正在嘗試使用JQuery自動完成示例。 請參閱-http://jsfiddle.net/LCv8L/797/

當我鍵入“ Ar”時,應首先輸入“ Ar”相關項。 盡管我給了minLength 1,但是它首先顯示了“ An”。可能是考慮了字母順序。 有解決這個問題的建議嗎?

    minLength: 1,
    select: function(event, ui) {
        event.preventDefault();
        $("#customer-search").val(ui.item.label);
        $("#selected-customer").val(ui.item.label);
    },
    focus: function(event, ui) {
        event.preventDefault();
        $("#customer-search").val(ui.item.label);
    }
});

默認情況下,包含字符串而不是開頭的自動完成搜索項。

$('#customer-search').autocomplete({
    source: function(request, response) {
        var filtered = $.map(data, function(item) {
            if(item.value.toLowerCase().startsWith(request.term.toLowerCase())) {
                return item;
            }
            else {
                return null;
            }
        });
        response(filtered);
    }
});

嘗試在“搜索”方法中更改名稱空間中的正則表達式。

請在jsfiddle.net/LCv8L/800/中找到答案

在您的jsfiddle中運行此代碼,即可按需運行。.::) //使用正則表達式是防止這種情況的更好方法。

   var wordlist= [
       "Afghanistan",
        "Albania",
        "Algeria",
        "American Samoa",
       "Andorra",
        "Angola",
        "Anguilla",
        "Antarctica",
        "Antigua and Barbuda",
        "Argentina",
        "Armenia",
        "Aruba",
        "Australia",
        "Austria",
        "Azerbaijan"
    ] ; 

    $("#customer-search").autocomplete({

        source: function(req, responseFn) {
            var re = $.ui.autocomplete.escapeRegex(req.term);
            var matcher = new RegExp( "^" + re, "i" );
            var a = $.grep( wordlist, function(item,index){
                return matcher.test(item);
            });
            responseFn( a );
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM