2012-03-28 2 views
0

나는 다음과 같은 문제가 있습니다jQuery를 모달 대화 상자가 처음에 모달되지 열립니다

이미 JQuery와 대화 상자를 열었습니다와 나는 다른 기능/정보를이 커버하고 표시하는 또 다른 모달 대화와 오버레이합니다.

두 번째 대화 상자에는 ajax 요청에 의해 가져온 데이터를 채 웁니다. 문제는 첫 번째 클릭에서 두 번째 대화 상자가 모달을 열지 않는다는 것입니다. 닫은 후 다시 열면 대화 상자가 모달입니다. 다음과 같은

내 코드는 같습니다 가 이미 몸에 존재하는에서 대화 상자를 만들

다음
function showMachineControlDialog(id) 
{  
    loadMachineControlDialog(id); 

    var buttonsOpts = {}; 
    buttonsOpts["Close"] = function() { $(this).dialog("close"); }; 
    $("#machine_control_box").dialog({ buttons : buttonsOpts }); 
    $("#machine_control_box").dialog({ width: 250, resizable: false }); 
    $("#machine_control_box").dialog("option", "title", "Control-Dialog"); 
    $("#machine_control_box").dialog({ zIndex: 2000 }); 
    $("#machine_control_box").dialog({ closeOnEscape: true }); 
    $("#machine_control_box").dialog({ modal: true }); 
    $("#machine_control_box").dialog({ autoOpen: false }); 
} 

나는 대화 상자에 밀려 데이터 가져 오기 :

function loadMachineControlDialog(id) 
{ 
    var paramlist = "id="+id; 
    $.ajax({ 
     type: "GET", 
     dataType: "html", 
     url: "getData", 
     data: paramlist, 
     contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
     cache: false, 
     success: function(data){ 
      $("#machine_control_box").html(data).dialog("open"); 
      $("#machine_control_box").dialog({ position : 'center' }); 
     }, 
      error: function(data){ 
      showErrorDialog(data.responseText); 
     } 
    }); 
} 

을 나는 수색 후에 나 자신을 발견했다. 모든 HTML이 대화 상자에 삽입되기 전에 모달 속성을 설정해야합니다. 모달이 설정된 후에는 어떤 이유로 작동하지 않습니다.

답변

2

대화 상자를 처음 열었을 때 (예 : loadMachineControlDialog(id);이 호출 된 후) 모달로 설정되었습니다. 또한

, 당신은이처럼 .dialog 옵션을 체인,이 효과가 발생하고 끝이 방법 체인 옵션 이유

$("#machine_control_box").dialog({ 
    buttons : buttonsOpts, 
    width: 250, 
    resizable: false 
    "option", "title", "Control-Dialog" 
    zIndex: 2000; 
    closeOnEscape: true 
    modal: true 
    autoOpen: false }); 

loadMachineControlDialog(id); 
+0

는 설명에 감사드립니다 loadMachineControlDialog() 후 호출해야합니다. – Przemek

관련 문제