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

AJAX Discussion :

jstree: declencher ajax sur clic d'un noeud


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut jstree: declencher ajax sur clic d'un noeud
    Bonjour,
    J'ai un arbre fait avec jstree, construit dynamiquement avec un appel ajax qui renvoie un JSON.
    Maintenant, je voudrais que les feuilles de l'arbre ouvrent une page web dans une nouvelle fenêtre.
    Dans l'absolu, c'est faisable facilement:
    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
    21
    22
    23
    24
    25
    26
     
     $(document).ready(function(){
     
                     $('#tree-container').jstree({
                                'plugins': ["sort"],
                                'core' : {                              
                                    'data' : {
                                        "url" : "getChildren.php",
                                        'data' : function (node) {
    					return { 'id' : node.id };
    				      },
                                        "dataType" : "json", // needed only if you do not supply JSON headers       
     
                                    }
                                }
                            }
                    ) 
                    //////////CREATION DE LIEN SUR CHAQUE NOEUD ET DEBUT DU PROBLEME /////////
                    .bind("select_node.jstree", function (e, data) {
     
                    		var href = data.node.a_attr.href;
                    		document.location.href = "lien_ad_hoc";
     
    			});
                    //////////////////////////
                });
    Il y a surement un moyen simple pour une ouverture dans une nouvelle fenêtre.
    MAIS:
    Ce système créée un lien sur chaque noeud, or je ne le veux que sur les feuilles. Y a-t-il un moyen ?

    A défaut, je comptais lancer un appel AJAX pour tester si ce noeud était valide, auquel cas j'ouvre la page web associée, sinon, je ne fais rien. Mais là encore, je ne vois pas comment lancer cet appel AJAX.
    Si quelqu'un a une idée, je lui en serais vraiment reconnaissante !

    Merci !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 671
    Par défaut
    affichez ce qu'il y a dans "data.node", vous verrez peut-être la profondeur du nœud :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log(data.node);

  3. #3
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .bind("select_node.jstree", function (e, data) {
                    		//Ajax: y a-t-il un JBrowse derriere ce noeud ?
                    		if(data.node.children=="")
                    		{
                    			var href = data.node.a_attr.href;
                    			document.location.href = "lien.php";
                    		}
    });
    Impeccable !
    Bonne journée,

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

Discussions similaires

  1. [crystal 10] declenchement etat sur arrivée fichier XML
    Par cchatelain dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/05/2005, 12h59
  2. [Debutant] Menu sur clic de souris
    Par chabannou dans le forum Windows
    Réponses: 8
    Dernier message: 02/04/2005, 01h52
  3. [VB6] [MSHFlexGrid] Tri sur clic dans la première ligne
    Par degreste dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2003, 00h42
  4. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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