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:
où settings est défini par:
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;
Là, j'ai voulu tenté un bête et méchant:
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)); }); },...
Mais je n'ai pas trouvé la bonne syntaxe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part settings.local_data[id] = nouveau;
Après si vous fouillez le code vous trouvez la méthode add:
où item est [{id:X, name:'nouveau'}];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 add: function(item) { this.data("tokenInputObject").add(item); return this; },
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
Partager