J'aimerais comme le titre l'indique, afficher un message en utilisant la fonction .Dialog() de JQuery.
J'utilise une boucle PHP qui me génère une liste de paragraphes <p> ayant pour classe"obj_descr". Cependant, chaque paragraphe <p> est un enfantde l'image <img> de classe"obj" qui le précède .
Le but final est d'afficher une fenêtre utilisant Dialog() à la place de la fonction alert(); de javascript lorsque l'on clique sur l'image concernée.
Seulement voilà, lorsque je clique sur une image, il ne se passe rien, et la console ne m'indique rien non plus... En tant que débutant en JQuery, je suis un peu perdu.
Cela ne sert à rien de rajouter une <div> en plus étant donné que <p> sert déjà de "conteneur".
De plus, <p> se trouve dans une boucle, mettre un id à la place d'une classe est incorrecte (pour rappel, un id doit être unique dans une page tandis qu'une classe peut être répété autant de fois que l'on veut dans une même page).
Merci quand-même de ta réponse!
La culture, c'est comme la confiture: moins on en a, plus on l'étale.
J'ai copié ton code pour voir pourquoi ça ne fonctionnait pas
Le problème provient de cette ligne
$(this).next(".descr_obj").dialog('open');
L’élément p ne se trouve pas à la suite de l’élément img mais dans une autre div que la fonction dialog crée et les index les un à la suite des autres.
Donc pour pourvoir retrouver cette élément dans le DOM, j'ai pensé à cette solution
J'ai mis while pour pouvoir simulé le fetch. Comme tu peux le voir j'ai attribué le même data-id. Tu peux utiliser le même champs de la db.
Et dans le fonction, il ne reste plus cas trouver l’élément.
$(".obj").click(function () {
let id = $(this).data('id');
$(".descr_obj[data-id='"+id+"']").dialog('open');
});
- Edité par DevMercenaire 18 juillet 2018 à 10:33:12
[JQuery] problème d'affichage avec .Dialog()
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
La culture, c'est comme la confiture: moins on en a, plus on l'étale.
La culture, c'est comme la confiture: moins on en a, plus on l'étale.
La culture, c'est comme la confiture: moins on en a, plus on l'étale.