2012-03-10 8 views

答えて

5

が、変更が有効になります。変更を表示するには、ダイアログを閉じてすぐに再度開くことができます。これは最善の解決策ではないかもしれません。それでもjQueryの1.11で動作していない

   $(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

。あなたは、単にあなたがモーダルダイアログを非モーダルから切り替えたい時にかかわらず、手動でオーバーレイを追加することができます:あなたは非モーダルダイアログをモーダルから切り替えたい場合

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

は、それに応じてオーバーレイを削除します。

関連する問題