Hello all,

I have a problem I can't solve whith the use of the Dialog script
coupled with some AJAX.

I fill my webpage with an AJAX query, and for each elements I fill the
page with, I have the following HTML code:

<div class="comiteeIcons">
        <a href="{ComiteeLine.URL_SHOW_MEMBERS}"><img src="../images/
users.gif" alt="Modifier les membres" title="Modifier les membres" /></
a>
        <img src="../images/delete.png" class="deleteIcon" alt="Supprimer :
{ComiteeLine.COMITEE_NAME}" title="Supprimer :
{ComiteeLine.COMITEE_NAME}" />
        <div class="deleteBox" id="deleteComitee_{ComiteeLine.COMITEE_ID}"
title='Confirmation de suppression'>Supprimer :
{ComiteeLine.COMITEE_NAME}</div>
</div>

I want that when I click on the image with the deleteIcon class, a
modal dialog box (defined in the class deleteBox) shows to display a
confirmation.

As I use AJAX, I put the JS initialization code inside a live query
function, giving to me that code:

$(function() {
        $('.deleteBox').livequery(function() {
                $(this).dialog({
                        bgiframe: true,
                        resizable: false,
                        height:140,
                        modal: true,
                        draggable: false,
                        autoOpen: false,
                        overlay: {
                                backgroundColor: '#000',
                                opacity: 0.5
                        },
                        buttons: {
                                'Supprimer': function() {
                                        $(this).dialog('close');

                                        if (initForComitees)
                                                
deleteComitee($(this).attr("id"));
                                        else
                                                deleteComiteeMember();
                                },
                                'Annuler': function() {
                                        $(this).dialog('close');
                                }
                        }
                });
        });

        $('.deleteIcon').livequery('click', function(event) {
        $(this).parent().children('.deleteBox').dialog('open');
        return false;
    });
});

The problem I have is that when the AJAX query is over, the <div>
corresponding to the dialog boxes have disappeared!

So the click event fails because it can't find the correct id of the
box.

I found a solution by recreating the whole dialog in the click event
with something like that:

$(".deleteIcon").click(function() {

         var id = $(this).attr("id");

         $("<div title='Confirmation de suppression'>" + $(this).attr
("title") + "</div>").dialog({
                bgiframe: true,
                resizable: false,
                height:140,
                modal: true,
                draggable: false,
                autoOpen: false,
                overlay: {
                        backgroundColor: '#000',
                        opacity: 0.5
                },
                buttons: {
                        'Supprimer': function() {
                                $(this).dialog('close');

                                if (initForComitees)
                                        deleteComitee(id);
                                else
                                        deleteComiteeMember();
                        },
                        'Annuler': function() {
                                $(this).dialog('close');
                        }
                }
        }).dialog('open');
});

But as I will have to display some other boxes, that won't be an easy
solution.

Is there something I'm doing wrong?

Thanks in advance

Michael

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery UI" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-ui?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to