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 :

css/attributs lorsque plusieurs boutons ouvrent le même ui dialog [UI]


Sujet :

jQuery

  1. #1
    Invité
    Invité(e)
    Par défaut css/attributs lorsque plusieurs boutons ouvrent le même ui dialog
    Bonjour,
    J'ai un UI dialog étant ouvert par plusieurs boutons dans ma page. Chaque bouton envoyant un id unique a la page générant le contenu du dialog.

    Voici comment je crée une popup :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="GestionDialog"></div>
    Code js : 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
    $(function () {
       var GestionDialog = $("#GestionDialog").dialog({
          autoOpen: false,
          title: "Gerer",
          width: 700,
          height: 700,
          modal: true,
          buttons: {
             "Fermer": function () {
                $("#GestionDialog").dialog("close");
             }
          }
       });
    });
    //les boutons sont refresh régulierement du coup =>
    function UpdateButtons() {
    $(".OpenGestionDialog").each(function () {
          $(this).button().click(function () {
             $("#GestionDialog").load("/Home/GetPopUp?Open=" + $(this).attr("url_data"));
             $("#GestionDialog").dialog(GestionDialog).dialog("option", "title", "Gérer");
             $("#GestionDialog").dialog(GestionDialog).dialog("open");
          })
       });
    });

    Comme vous pouvez le voir je spécifie le titre a l'initialisation du dialog, puis au moment de l'ouverture... peu importe, dans tous les cas le titre ne s'affiche pas et les dimensions width: 700, height: 700, ne sont pas respectées. Aucun problème pour les options AutoOpen, Modal et Buttons. Le css s'appliquant sur les éléments contenus dans le dialog ne fonctionne pas non plus.

    Si j'ouvre la même popup avec un seul bouton et exactement les mêmes paramètres, il n'y a aucun problème.

    Euhh.... Pourquoi ?
    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(this).button().click(function () {
     var urldata=$(this).attr("url_data")
             $("#GestionDialog").load("/Home/GetPopUp?Open=" + urldata);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Malheureusement non, ça ne marche pas plus.
    J'aimerais savoir pourquoi vous avez estimé que le problème pourrait venir de là.
    Le JS me semble tout a fait capable d’interpréter ce genre de ligne.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    non le souci aurait pu provenir de la porté de this
    qui dans le load n'était plus le bouton cliqué mais l'element de destination du load
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#GestionDialog").dialog(GestionDialog).dialog("option", "title", "Gérer");
    Il y a peut-être un .dialog() en trop là...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#GestionDialog").dialog("option", "title", "Gérer");
    devrait suffire (et pour la ligne suivante aussi).
    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

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne l'ai pas précisé dans mon premier message, désolé.
    En fait tout fonctionne parfaitement hors mi le titre de la popup et certaines propriétés css du contenu.
    Merci beaucoup ! Le problème venait bien de là.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    pourquoi l'attribution du click sur les boutons est elle dans une fonction ?

    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
    $(function () {
       var GestionDialog = $("#GestionDialog").dialog({
          autoOpen: false,
          title: "Gerer",
          width: 700,
          height: 700,
          modal: true,
          buttons: {
             "Fermer": function () {
                $("#GestionDialog").dialog("close");
             }
          }
       });
    });
    //les boutons sont refresh régulierement du coup =>
     
    $(".OpenGestionDialog").each(function () {
       urldata=$(this).attr("url_data");
          $(this).button().parent().on("click",function () {
             $("#GestionDialog").load("/Home/GetPopUp?Open=" + urldata);
             $("#GestionDialog").dialog(GestionDialog).dialog("option", "title", "Gérer");
             $("#GestionDialog").dialog(GestionDialog).dialog("open");
        });
    });
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Les boutons sont en fait contenus dans les lignes d'un DataTable . Je refresh ce datatable a intervale régulier. Si je ne fais pas comme ça, les (UI)boutons redeviennent des boutons normaux et l'event du click n'est plus détecté.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    d'ou l'utilisation de on() ... ou delegate() ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Invité
    Invité(e)
    Par défaut
    J'utilise on()..
    Et delegate() a exactement le même fonctionnement si je ne dis pas de bêtises.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    J'utilise on()..
    Pas dans le code que tu nous a montré en tout cas ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Invité
    Invité(e)
    Par défaut
    effectivement ...
    Dernière modification par Invité ; 11/07/2013 à 13h13.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/10/2014, 13h34
  2. Réponses: 4
    Dernier message: 22/03/2012, 11h30
  3. plusieurs boutons pour une même action
    Par SweetBlueMelody dans le forum jQuery
    Réponses: 4
    Dernier message: 16/02/2012, 15h53
  4. Réponses: 13
    Dernier message: 19/11/2009, 15h56
  5. [MySQL] Plusieurs boutons dans une même page
    Par phpines dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/04/2009, 15h03

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