2010-12-15 4 views
0

동일한 사이트에서 Jquery의 대화 상자 인스턴스를 여러 개 구현하려고합니다. ( 내가 f_inst.modal.dialog를 호출하는 경우 ('가까이') 또는 s_inst.modal.dialog :하나 이상의 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'}); 

문제 : 문제는 내가이 개 내가 그렇게 같은 new'able 기능을 시작 인스턴스를 가지고있다 'close'),이 조치는 실제로 대화 상자의 두 인스턴스를 닫습니다.

이 두 대화 상자는 두 개의 다른 템플릿을 사용하여 렌더링합니다.

jquery UI 대화 상자의 기본 동작 인 경우 더 나은 해결책이있는 사람이 있습니까?

YUI 2 컨테이너 위젯은 컨테이너 위젯의 여러 인스턴스를 가질 때 매우 잘 작동합니다. 유사한 기능을 제공하는 모달을 찾으려고합니다.

미리 감사드립니다.

는 -Eric

답변

0

난 당신이

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에 모든 것을 연결하면 실제로 별도 인스턴스가 생성됩니다.

관련 문제