2012-03-10 70 views

回答

5

它看起來像對話框不會反映的變化,而它是開放的,但更改確實生效。要顯示更改,可以關閉,然後立即重新打開對話框。這可能不是最好的解決方案。

   $(this).dialog("option","modal",true) 
        .dialog("close") 
        .dialog("open"); 

http://jsfiddle.net/9vVGz/

1

如果您想更改對話框中的選項,您需要在打開它之前執行此操作。其他明智的,你需要一個像自己的代碼覆蓋對話框中的成分相互作用後它是開放的

例子:

/* initialize a dialog*/ 
$('#dialog').dialog({autoOpen:false, modal:true}); 


/* open a dialog from a click handler and change options*/ 
$('#myButton').click(function(){ 
    /* change original modal option*/       
    $('#dialog').dialog('option', 'modal', false); 
    /* change title based on text of "myButton"*/ 
    $('#dialog').dialog('option', 'title', $(this).text()) 

    /* options have been changed, open dialog now */ 
    $('#dialog').dialog('open');       
}); 
0

還沒使用jQuery 1.11合作。你可以簡單地手動添加的疊加,雖然當你想從一個非模態切換到模態對話框:

$("#dialog").dialog("widget").before("<div class='ui-widget-overlay ui-front'></div>"); 

因此取下覆蓋,如果你想從一個模式切換到無模式對話框。