Ajouter des éléments dans un tableau
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:
1 2
| // url_to_data = "[{id: 0, name: 'nom'},{...}]";
settings.local_data = url_or_data; |
où settings est défini par:
Code:
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:
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:
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