JQuery UI закрыть динамический диалог ... или просто открыть диалог - PullRequest
0 голосов
/ 24 августа 2010

Я пытаюсь закрыть открытый диалог в конце вызова функции, а также использую свой текущий элемент кнопки, чтобы закрыть диалог. Вот код, который открывает диалоговое окно. Он вызывается динамически, используя атрибут rel в .modal_btn. Он открывается так, как и ожидалось:

    modalDialog = function(dialogId){
        $(dialogId).dialog({
            modal: true,
            draggable: false,
            resizable: false,
            width: 'auto',
            open: function() { $(".ui-dialog-titlebar-close").hide(); }
        });
    }

    $('.modal_btn').live('click', function(){
        var dialogId = $(this).attr('rel');
        modalDialog(dialogId);
    });

Теперь, после открытия диалога, я хотел бы использовать мои текущие элементы HTML для кнопок: кнопки «Отмена» и «Сохранить». Кнопка сохранения выполняет вызов ajax, и после завершения вызова ajax я хотел бы закрыть диалоговое окно. Кроме того, я хотел бы иметь возможность закрыть диалоговое окно, просто нажав кнопку Отмена. Я просто не могу понять эту простую функциональность ... есть идеи?

Ответы [ 2 ]

2 голосов
/ 24 августа 2010

$(dialogId).dialog('close');?

Редактировать в ответ на комментарий:

Ну, как насчет этого тогда.В вашей функции modalDialog примените класс к самому диалоговому окну: $(dialogId).addClass('currently-open-dialog').

Тогда ваша функция закрытия клика может сделать $('.currently-open-dialog').removeClass('currently-open-dialog').dialog('close');

1 голос
/ 24 августа 2010

пара способов размещения текста на кнопке: стандартная отмена и буквальное. Тот же основной метод действия, однако:

'Yes, Save and Exit': function()
            {
                callMyAjaxFuction();
                $(this).dialog('close');
                            },
            Cancel: function()
            {
                $(this).dialog('close');
            }
...