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

jQuery Discussion :

Déployer l'arbre jstree [Plugin]


Sujet :

jQuery

  1. #1
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut Déployer l'arbre jstree
    Bonjour,

    Je débute sur jquery et j'essaye de voir comment utiliser "jstree".
    En fait je voudrais déployer mon arbre immédiatement lorsque que le document est chargé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <script type="text/javascript">
            $(document).ready(
            	function(){
                $("#TV_general").jstree();
     
                $("#TV_general").jstree({
    		        "themes" : {
    		            "theme" : "xsoftware_apple",
    		            "dots" : false,
    		            "icons" : true
    		        },
            		"plugins" : [ "themes", "html_data","ui" ]
       			 });
     
     
               $('#TV_general').jstree('open_all', -1);
              }
            );
     
        </script>
    Mon arbre se cree bien mais reste fermé.
    Si je rajoute un bouton
    <input type="button" value="open_all"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="$('#TV_general').jstree('open_all', -1);" />
    pas de problème en cliquant dessus.

    L'exemple est visible ici : http://test03.christophe-charron.org...e_1_0-rc3.html

    D'avance, merci pour votre aide et explications.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Il suffit d'exécuter cette instruction lorsque la page est chargée, autrement dit lorsque le DOM est prêt à recevoir des instructions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $( function(){
     
    	$('#TV_general').jstree('open_all', -1);
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut
    Bonsoir,

    et bien c'est en effet ce que je pensais faire.

    détermine bien la disponibilité du DOM, non ?

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Oui, $(function(){ ... }); est la forme abrégée.

    Où dois-je poser mon $ ?

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut
    D'accord.
    Si vous regardez mon code initial, c'est pourtant dans cette fonction que je l'ai posée !!!

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Oops, pas vu ! Je me suis focalisé sur le test du bouton.

    Si l'instruction ne s'exécute pas lorsque le DOM est prêt et qu'il s'exécute lorsqu'un utilisateur clique sur un bouton alors il faut demander l'exécution de notre instruction lorsque la totalité de la page est chargée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( function(){
     
    });
     
    $( window ).load( function(){
     
    	$('#TV_general').jstree('open_all', -1);
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir à tous,
    d'après la documentation tu peux "binder" la fonction pour l'ouverture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $(function(){
        $("#TV_general").jstree({
          "themes": {
            "theme": "xsoftware_apple",
            "dots": false,
            "icons": true
          },
          "plugins": ["themes", "html_data", "ui"]
        })
        .bind('loaded.jstree', function(){
          $(this).jstree('open_all', -1);
        });
    });
    tu peux également sélectionner les menus à ouvrir en ajoutant "core" : { "initially_open" : [ "tv_00000","tv_00001"]} par exemple sous la ligne "plugins": ["themes", "html_data", "ui"].

  8. #8
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Oops, pas vu ! Je me suis focalisé sur le test du bouton.

    Si l'instruction ne s'exécute pas lorsque le DOM est prêt et qu'il s'exécute lorsqu'un utilisateur clique sur un bouton alors il faut demander l'exécution de notre instruction lorsque la totalité de la page est chargée.
    D'acc, d'acc.
    Mais quelle est la différence entre ces 2 états ?
    Et finalement, ne serait-il alors pas plus prudent, d'une manière générale, de tout exécuter sur le onload ?

  9. #9
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonsoir à tous,
    d'après la documentation tu peux "binder" la fonction pour l'ouverture
    ...
    tu peux également sélectionner les menus à ouvrir en ajoutant "core" : { "initially_open" : [ "tv_00000","tv_00001"]} par exemple sous la ligne "plugins": ["themes", "html_data", "ui"].
    Ok, ok.

    Je vais essayer de binder (faudra quand même que je comprenne le principe et que je vois sur d'autres cas ce que cela implique.

    Je retiens le "core" mais cela risque d'être un peu fastidieux car en fait mon exemple est colossalement réduit par rapport au vrai treeview et de plus pourrait bien être peuplé dynamiquement de branches qu'il sera impossible d'identifier à l'avance.

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    j'ai oublié de mettre le lien http://www.jstree.com/demo

  11. #11
    Membre éprouvé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 934

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2010, 10h19
  2. Qu'est ce qu'un arbre
    Par sandrine dans le forum C
    Réponses: 8
    Dernier message: 23/10/2002, 13h12
  3. [Kylix] déployer un dso websnap
    Par tibi666 dans le forum EDI
    Réponses: 6
    Dernier message: 14/10/2002, 15h22
  4. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

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