Bonjour !

J'aimerais faire apparaître plusieurs dialogs sur une même page. Chacune des dialogs sert à afficher un contenu reçu via Ajax.
Pour cela j'ai créé la fonction suivante :

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
 
function call(url, id)
{
    // Vérification des paramètres
    if(!url && !id) return;
 
    var node = null,
        init = false;
 
    // Récupération ou création de l'élément d'identifiant 'id'
    if($('#'+id).size())
        node = $('#'+id);
    else
    {
        node = $('<div/>').attr('id', id).hide().appendTo(document.body);
        init = true;
    }
 
    // Chargement de la page 'url' dans l'élément
    node.load(url);
 
    // Page chargée -> ouverture de la boite de dialogue
    node.ajaxComplete(
        function(event, request, settings) {
            if(init) node.dialog(); // Initialisation
            node.dialog('open'); // Ouverture
        }
    );
}
Cette fonction permet de charger le résultat d'une requête AJAX, dont l'URL doit être fournie en premier paramètre, dans l'élément HTML ayant pour identifiant le second paramètre pour enfin l'afficher comme un dialog.

Pour appeler la fonction, plusieurs images possèdent donc l'attribut suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
onclick="call('une_url', 'un_id')"
Problème : Au premier clic sur une image pas de soucis, mais lorsque que plusieurs dialogs ont été initialisées, l'ouverture d'un dialog ouvre les autres.

Si vous avez une idée sur le problème je suis preneur .
Merci.