JQUERY UI модальное учебное руководство

Может любой обеспечивать чистый пример того, как использовать UI JQUERY Модальное диалоговое окно. Удивительно это не столь просто, как Вы думали бы.

Цель:

  1. нажатие на элемент загружает модальное

  2. Модальное появляется, показывая "Загрузку..." И затем выполняет ajax вызов для получения содержания модального

  3. Модальное может быть закрыто путем нажатия на завершение btn или путем нажатия Escape

  4. Модальным может быть repopened, и когда он вновь открылся, он не показывает состояние предыдущего модального взаимодействия.

Спасибо!

Вот то, что я в настоящее время делаю, но это работает очень неуклюжее и не кажется вообще как умное решение. Идеи?

var $dialog = $('<div id="sharerdialog"></div>')
.html('<p>Loading...</p>')
.dialog({
    autoOpen: false,
    title: 'Share the item',
    position: ['center',150],
    width: 450,
    focus:function(event, ui) {
        $('#dialogcloser').click(function() {
            $dialog.dialog('close');
        });
    }, 
    open: function(event, ui) {
        var title2use = document.title;
        title2use = escape(title2use);          
        $("#sharerdialog").load("/items/ajax/share/index_beta.cfm?itemid=#itemID#&itemtitle=" + title2use);
    }
});
// Bind the Share btn to Open the Modal
$('#itemshare').click(function() {
    $dialog.dialog('open');
});
11
задан AnApprentice 20 February 2010 в 23:24
поделиться

1 ответ

Основная проблема, которую я вижу в вашем коде, заключается в том, что вы не добавляете диалог в DOM, поэтому браузер не отображает его. Я предлагаю вам сначала попробовать:

var $dialog = $('<div id="sharedialog"></div>')
      .html('<p>Loading....</p>')
      .appendTo('body')
      .dialog({...});

Чтобы вы добавили его в DOM, и браузер мог его отобразить.

1
ответ дан 3 December 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: