2010-10-15 51 views
0

我是一個試圖配置jQuery UI自動完成的新手程序員/設計師。我有它的工作,使用JavaScript對象(數組)。該陣列包含我們正在引導客戶的零售商店。我們有一些首選的商店,所以我們希望他們比其他商店更早出現,但我真的不知道如何將它們過濾到結果中,或者甚至可能。Jquery UI自動完成 - 顯示首選的方法

我想讓「Widget Store 4」首先出現,如果有人輸入「Widget」。這裏是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

請記住,以紀念你的代碼爲代碼,因此它得到了很好的格式,並有助於閱讀! (選擇文本並點擊0101按鈕) – tsimbalar 2010-10-15 16:04:21

回答

1

我不知道自動完成庫你使用的是什麼,但它看起來像:

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" } 
] 
+0

+1:這就是我的想法,但不太確定它 – tsimbalar 2010-10-15 16:13:57