Jquery UI自动完成 - 显示首选的方式

时间:2010-10-15 15:58:01

标签: jquery user-interface jquery-autocomplete

我是一名新手程序员/设计师,试图配置jquery ui自动完成功能。我使用javascript对象(数组)工作。该阵列包含我们指导客户的零售商店。我们有一些首选的商店,所以我们希望他们比其他商店更早出现,但我真的不知道如何将它们过滤到结果中,或者甚至可能。

如果有人输入“Widget”,我想首先出现“Widget Store 4”。这是jquery代码:

var widgetstores = [ 
{label: "Widget Store 1", value: "1001" }, {label: "Widget Store 2", value: "1002" }, {label: "Widget Store 3", value: "1003" }, {label: "Widget Store 4", value: "1004" }, {label: "Widget Store 5", value: "1005" }, {label: "Widget Store 6", value: "1006" }
]

 $(function() {     
                $('#tags').autocomplete({
                    minLength: 3,
                    source: widgetstores,
                    focus: function(event, ui) {
                        $('#tags').val(ui.item.label);
                        return false;
                    },
                    select: function(event, ui) {
                        $('#tags').val(ui.item.label);
                        $('#customer_num').val(ui.item.value);                      
                        return false;
                    }
                })
                .data( "autocomplete" )._renderItem = function( ul, item ) {
                    return $( "<li></li>" )
                        .data( "item.autocomplete", item )
                        .append( "<a>" + item.label + "</a>" )
                        .appendTo( ul );
                };
            });

1 个答案:

答案 0 :(得分:1)

我不确定您使用的是什么AutoComplete库,但它看起来像:

http://docs.jquery.com/UI/Autocomplete

该库会自动为您排序项目。它使用传递给脚本的项目的顺序,并从中过滤。因此,如果您的项目按照您希望的顺序排列,则在传递给自动填充之前,它应该使用该顺序。

更新

var widgetstores = [ 
{label: "Widget Store 4", value: "1004" }, {label: "Widget Store 1", value: "1001" }, {label: "Widget Store 2", value: "1002" }, {label: "Widget Store 3", value: "1003" }, {label: "Widget Store 5", value: "1005" }, {label: "Widget Store 6", value: "1006" }
]