Наличие более одного диалогового окна Jquery и закрытие только одного экземпляра за раз - PullRequest
0 голосов
/ 15 декабря 2010

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

function Modal(param) {
   this.modal = null;var that = this;
   var init = funciton (param) {
     that.setupWindow(param);
   }
   this.setupWindow = function (param) {
     var selector = param.selector;
     var params = {} // dialog options go here 
     this.modal = $(selector);
     this.modal.dialog(params);
   }
}

var f_inst = new Modal({selector: '#f_modal'});
var s_inst = new Modal({selector: '#s_modal'});

Проблема: если я вызову f_inst.modal.dialog ('close') или s_inst.modal.dialog ('close'), это действие фактически закроет оба экземпляра диалогового окна.

Эти два диалоговых окна используют два разных шаблона для их визуализации.

Если это поведение по умолчанию в диалоговом окне jquery ui, есть ли у кого-нибудь лучшее решение?

YUI 2 Контейнерный модальный виджет работает очень хорошо при попытке иметь несколько экземпляров контейнерного виджета. Я пытаюсь найти модальный, который предлагает аналогичную функциональность.

Заранее спасибо.

-Эрик

1 Ответ

0 голосов
/ 15 декабря 2010

Я думаю, что вы хотите изменить это на то, что во всех случаях

function Modal(param) {
   var that = this;
   that.modal = null;

   var init = funciton (param) {
     that.setupWindow(param);
   }

   that.setupWindow = function (param) {
     var selector = param.selector;
     var params = {} // dialog options go here 
     that.modal = $(selector);
     that.modal.dialog(params);
   }
}

var f_inst = new Modal({selector: '#f_modal'});
var s_inst = new Modal({selector: '#s_modal'});

Я не проверял это - но я считаю, что this.setUpWindow связан с модальной функцией, которая есть только одна изесли вы создадите несколько экземпляров, они ссылаются на один и тот же объект / функцию

, подключив все к этому var, вы фактически получите отдельные экземпляры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...