2010-10-15 6 views
0

Je suis un programmeur débutant/concepteur en essayant de configurer jquery ui autocomplete. Je l'ai fonctionné, en utilisant un objet javascript (tableau). Le tableau contient les magasins de détaillants vers lesquels nous orientons nos clients. Nous avons certains magasins qui sont préférés et nous aimerions qu'ils arrivent plus tôt que les autres magasins, mais je ne sais pas vraiment comment les filtrer dans le résultat ou si c'est même possible.Jquery UI Autocomplete - Façon d'afficher préféré

Je veux que "Widget Store 4" apparaisse en premier si quelqu'un tape "Widget". Voici le code 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

S'il vous plaît pensez à marquer votre code comme code étant, afin qu'il soit la bonne mise en forme et aide à la lecture! (sélectionnez le texte et cliquez sur le bouton 0101) – tsimbalar

Répondre

1

Je ne suis pas sûr de ce que la bibliothèque saisie semi-automatique que vous utilisez, mais il ressemble à:

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

Cette bibliothèque ne pas trier les éléments pour vous automatiquement. Il utilise l'ordre des éléments passés au script, et filtre de cela. Donc, si vos articles sont dans l'ordre où vous les voulez avant de passer à la saisie semi-automatique, vous devriez utiliser cet ordre.

Mise à jour:

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: c'est ce que je pensais, mais je n'en étais pas tout à fait sûr – tsimbalar

Questions connexes