Jquery Dialog - Есть ли способ открыть его, не регистрируя его с помощью .dialog? - PullRequest
0 голосов
/ 20 мая 2010

Это моя проблема. У меня есть страница с несколькими вкладками. Я загружаю эти вкладки динамически, и одной из этих вкладок является контейнер сообщений (почта). Каждый раз, когда я нажимаю на ссылку папки (Входящие, Отправленная почта и т. Д.), Я перезагружаю только эту вкладку с соответствующим содержимым. Я использую диалог Jquery, чтобы выбрать контакты, и мне приходится загружать контакты каждый раз. Поскольку я перезагружаю весь контент вкладки каждый раз, когда JQuery Dialog регистрирует (или создает) весь контент div. Чтобы избежать этого я сделал это:

if ($("#ui-dialog-title-divContacts").length == 0) { //if dialog data is not created then make dialog
            $("#divContacts").dialog({
                bgiframe: true,
                resizable: false,
                autoOpen: false,
                height: 600,
                width: 425,
                modal: true,
                overlay: {
                    backgroundColor: '#000',
                    opacity: 0.5
                },
                buttons: {
                    Cancel: function () {
                        //basically do nothing
                        $(this).dialog("close");
                    },
                    'Done': function () {                                                        
                        $("#divTo").empty().html($("#divSelectedContacts").html());
                        $(this).dialog("close");
                    }

                }
            });
        }

Я пошел в сгенерированный источник просмотра в FF и обнаружил, что создается только один экземпляр. Моя проблема сейчас в том, что он не показывает диалог. Есть ли способ, которым я могу открыть это диалоговое окно, не регистрируя его. Любая помощь очень ценится.

Ответы [ 3 ]

1 голос
/ 20 мая 2010

$ ("# divContacts"). Диалог ('открыть') не работает?

Может быть, я неправильно понимаю вопрос. Вы хотели создать только один экземпляр диалога, который вы смогли сделать. А теперь ты хочешь знать, как это показать?

0 голосов
/ 21 мая 2010

Наконец, так долго ломая голову, я обнаружил, что между JQuery (обновленным до 1.4.2) и пользовательским интерфейсом JQuery (все еще в 1.7) было несоответствие. Я сейчас обновил его до 1,8. У меня все еще остается та же проблема, но я обнаружил, что это ошибка, свойственная диалоговому окну Jquery UI в сочетании с Jquery 1.4.

http://forum.jquery.com/topic/problem-with-ui-dialog-component-and-jquery-1-4-1#14737000000729726

Так что надо проверить, работает ли обход, указанный там. Спасибо за ответы, хотя.

0 голосов
/ 20 мая 2010

Так вы каждый раз наполняете свой диалог контактами?Почему бы просто не заполнить скрытый div всеми данными и элементами пользовательского интерфейса, которые вы хотите отобразить, а затем, когда вы хотите показать диалоговое окно, просто клонировать скрытый div и показать это.

Не понимаю ли я вопрос?

...