Показ модального диалога с jquery ui без элемента? - PullRequest
6 голосов
/ 09 мая 2011

Я делаю небольшое приложение jquery.Мне нужно несколько окон подтверждения.Однако я не хочу добавлять элемент в тело, чтобы открыть диалоговое окно.Есть ли способ избежать этого?Чтобы просто вызвать диалог и передать аргументы, такие как заголовок, текст и параметры?

Ответы [ 2 ]

14 голосов
/ 09 мая 2011

Когда вы создаете диалоговое окно jQuery UI, текущие версии (1.8. *) автоматически добавляют диалог к ​​телу.

Так что если вы делаете:

$('<div>').dialog({modal: true})

это просто работает. Вы должны убедиться, что вы вызываете .remove() с закрытым диалоговым окном, чтобы удалить новый элемент!

function myalert(title, text) {
    var div = $('<div>').html(text).dialog({
        title: title,
        modal: true,
        close: function() {
            $(this).dialog('destroy').remove();
        },
        buttons: [{
            text: "Ok",
            click: function() {
                $(this).dialog("close");
            }}]
    })
};

myalert("Test", "This is a test modal dialog");

См. http://jsfiddle.net/alnitak/G3GRZ/ для полной рабочей демонстрации.

4 голосов
/ 09 мая 2011

Просто сделай это:

$('<div>My dialog text.</div>').dialog({ modal: true });
...