IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ajouter des éléments dans un tableau


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut 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 : 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

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    settings.local_data[id] = nouveau;
    id est une clé, pas une variable, c'est donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    settings.local_data.id = nouveau;
    qu'il faut utiliser, voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    settings.local_data['id'] = nouveau;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    En effet ça fonctionne très bien merci, mais la liste n'est toujours pas mise à jour donc je dois finalement creuser ailleurs...

    EDIT: en fait lorsque j'affiche la variable, ce que je viens d'ajouter par votre manière n'est pas considéré comme un objet.
    Par exemple avant:
    [object] => 0
    [id] => 1
    [name] => 'nom1'
    [object] => 2
    [id] => 2
    [name] => 'nom2'
    Après:
    [object] => 0
    [id] => 1
    [name] => 'nom1'
    [object] => 2
    [id] => 2
    [name] => 'nom2'
    [id] => 3
    [name] => 'nouveau'
    Il faut surement que j'en fasse un objet.

  4. #4
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Oh yeah, c'est bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    settings.local_data[settings.local_data.length] = item;
    C'était la fin de semaine qui se faisait sentir!
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter des élément a un tableau
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/07/2007, 14h23
  2. Ajout des éléments dans un tableau de structure
    Par rphenix dans le forum WinDev
    Réponses: 10
    Dernier message: 22/06/2007, 11h34
  3. [Struts] ordre des éléments dans un tableau de propriétés
    Par zais_ethael dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/05/2006, 15h54
  4. [Tableaux] ajout d'élément dans un tableau
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 20h24
  5. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo