Bonjour,

Pour générer automatiquement une liste de propositions j'utilise le script Tokenizing Autocomplete Text Entry.

Je l'ai adapté à ma sauce pour voir ajouter dynamiquement des entrées à la liste. Ajouter des élements dans un tableau n'est pas compliqué à la base, mais là je ne comprends rien (la programmation objet avec javascript n'est pas mon fort).

Donc, à l'initialisation de l'instance, je donne un tableau JSON url_or_data en paramètre et le script enregistre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
// url_to_data = "[{id: 0, name: 'nom'},{...}]";
settings.local_data = url_or_data;
où settings est défini par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var methods = {
    init: function(url_or_data_or_function, options) {
        var settings = $.extend({}, DEFAULT_SETTINGS, options || {});	
        return this.each(function () {
            $(this).data("tokenInputObject", new $.TokenList(this, url_or_data_or_function, settings));
        });
    },...
Là, j'ai voulu tenté un bête et méchant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
settings.local_data[id] = nouveau;
Mais je n'ai pas trouvé la bonne syntaxe.

Après si vous fouillez le code vous trouvez la méthode add:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
add: function(item) {
        this.data("tokenInputObject").add(item);
        return this;
    },
où item est [{id:X, name:'nouveau'}];
Mais idem, je n'arrive pas à manipuler data (je ne sais pas ce que c'est!) pour l'ajouter manuellement, ou appeler add() dans la classe directement...

Quelqu'un aurait-il une solution?
Merci