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 :

Je voudrais provoquer l'ouverture du dialogue enfant à la suite d'un clic sur son parent


Sujet :

jQuery

  1. #1
    Membre actif Avatar de buse974
    Homme Profil pro
    Développeur / Chef de projet informatique
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur / Chef de projet informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 245
    Points
    245
    Par défaut Je voudrais provoquer l'ouverture du dialogue enfant à la suite d'un clic sur son parent
    Bonjour a tous,

    je cherche a faire quelque chose qui pourrait paraitre facile mais je n'y arrive pas, j'explique.


    html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <div class="help">
    <div class="hide" title="Aide" >coucou</div>
    <div class="icon"></div>
    </div>
     
     
    <div class="help">
    <div class="hide" title="Aide deux" >coucou deux</div>
    <div class="icon"></div>
    </div>
    JQuery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $(".hide").dialog({autoOpen: false});
     
    $(".help").click(function(){
    $(this).find(".hide").dialog('open');
    });
    Donc voila, le but etant d'ouvrir le dialgue enfant sur le clique de son parent .help, mais la aucun résultat, firebug ne signal aucune erreur non plus.

    Si quelqu'un aurait la syntaxe juste, ca serait cool, merci d'avance, ca fait 2 heure que je suis dessus, ca m'avancerait bien.

  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
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Si vous examiner le code générer avec Firebug vous voyez que votre code est profondément modifié par jQuery UI Dialog et qu'il est impossible de l'appeler comme vous le faites.

    N'utiliser que des classes et avoir plusieurs dialogues du même nom (div.hide) n'est pas un problème, il faut simplement changer la manière de procédé.

    Vous avez plusieurs div.help qui contiennent chacune une division dialogue div.hide. Il y a donc autant de dialogues que de div.hide. Il faut donc chercher le numéro d'index de la div.help qui a été cliquée et appeler le dialogue correspondant.

    index() : http://api.jquery.com/index/

    UI Dialog : http://jqueryui.com/demos/dialog/

    Voici un exemple :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta http-equiv="X-UA-Compatible" content="chrome=1">
    	<meta charset="utf-8">
    	<meta name="Author" content="Daniel Hagnoul">
    	<title>Forum jQuery</title>
    	<link rel="stylesheet" type="text/css" href="../lib/jqueryui/css/humanity/jquery-ui-1.8.7.custom.css">	
    	<style>
    		body { background-color:#dcdcdc; color:#000000; font-family:sans-serif; font-size:medium; font-style:normal;
    		font-weight:normal; line-height:normal; letter-spacing:normal; }
    		h1,h2,h3,h4,h5 { font-family:serif; }
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img { margin:0px; padding:0px; }
    		h1 { font-size:2em; text-shadow: 4px 4px 4px #bbbbbb; text-align:center; }
    		p { padding:6px; }
    		div#conteneur { width:95%; min-width:800px; min-height:500px; margin:12px auto; background-color:#FFFFFF;
    		color:#000000; border:1px solid #666666; }
     
    		/* Test */
    		#sortable1 li, #sortable2 li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
    	</style>
    </head>
    <body>
    	<h1>Forum jQuery</h1>
    	<div id="conteneur">
     
    <div class="help">
    	<p>Un mot pour remplir</p>
    	<div class="hide" title="Aide" >coucou</div>
    	<div class="icon"></div>
    </div>
     
    <div class="help">
    	<p>Un mot pour remplir</p>
    	<div class="hide" title="Aide deux" >coucou deux</div>
    	<div class="icon"></div>
    </div>
     
    	</div>
    	<script charset="utf-8" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    	<script charset="utf-8" src="../lib/jqueryui/js/jquery-ui-1.8.7.custom.min.js"></script>
    	<script>
    		$(function(){
     
    $("div.hide").dialog({
    	autoOpen: false
    });
     
    $("div.help").click(function(){
    	var n = $("div.help").index(this);
     
    	$("div.hide").eq(n).dialog('open');
    });
     
    		});
    	</script>
    </body>  
    </html>
    Nota Bene : si vos dialogues sont simples et répétitifs, il est possible de travailler avec un seul dialogue et de changer le titre et le message du dialogue avant son ouverture.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/10/2013, 17h49
  2. Réponses: 2
    Dernier message: 06/10/2010, 18h17
  3. Réponses: 5
    Dernier message: 25/05/2009, 16h13
  4. tabulations sur boîte de dialogue enfant
    Par raoulman dans le forum Visual C++
    Réponses: 2
    Dernier message: 07/12/2006, 13h00
  5. Récupérer variable d'un document enfant sur doc parent ?
    Par renaud26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/03/2006, 14h22

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