2011-03-15 2 views
0

J'ai implémenté une entrée jquery autocomplete qui affiche une liste déroulante.jquery autocomplete: plusieurs éléments sélectionnés, comment ne pas afficher les éléments sélectionnés dans le menu déroulant?

J'utilise ce champ pour choisir plusieurs éléments, alors quand je sélectionne un élément et que j'appuie sur enter, l'entrée est vidée et je peux en sélectionner une autre. Mon doute: que puis-je faire pour ne pas afficher dans la liste déroulante les éléments qui ont été sélectionnés?

Ceci est mon code js:

jQuery("#user_autocomplete") 
    .autocomplete('autocompleteUser', jQuery.extend({}, { 
    dataType: 'json', 
    parse: function(data) { 

     var parsed = []; 
     for (key in data) { 

    parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] }; 
     } 

     return parsed; 

     } 
    })) 
    .result(function(event, data) { 
    $('#field_users').append('<div class="user_choosen" id=' + data[1] + '>' + data[0] +'<a class="link_delete_user" href="#" onclick="javascript:deleteUser(' + data[1] +')">Delete</a></div>'); 
    $('#user_autocomplete').val(''); 

    }); 

Cordialement

Javi

+0

Pourquoi voudriez-vous cacher la sélection à vos utilisateurs? –

+0

On dirait que vous aurez besoin d'un autocomplétion personnalisé par widget. Dans la section d'analyse de l'article, vous ne sélectionnez pas les ajouter à la liste. –

Répondre

0

Ma recommandation serait de modifier l'attribut source de la saisie semi-automatique. Après avoir effectué votre extraction et reçu vos données JSON, supprimez les éléments qui se trouvent déjà dans le div.user_chosen. Vous pouvez modifier les options de la saisie semi-automatique à tout moment. Vous devez modifier l'option source.

0

Dans votre fonction d'analyse, filtrez les éléments déjà sélectionnés et ne les ajoutez pas dans le tableau analysé [].

Questions connexes