JQuery-ui对话框,'切换'模式选项不起作用

时间:2012-03-10 14:35:22

标签: jquery jquery-ui jquery-dialog

可以动态更改jquery ui对话框的模态模式吗?

我做了一个工作的例子:http://jsfiddle.net/LXB2Y/它看起来不起作用。

 $( this ).dialog("option","modal",false);

3 个答案:

答案 0 :(得分:5)

看起来对话框在打开时不会反映更改,但更改确实生效。要显示您可以关闭的更改,然后立即重新打开对话框。这可能不是最佳解决方案。

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

http://jsfiddle.net/9vVGz/

答案 1 :(得分: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');                          
});

答案 2 :(得分:0)

仍然没有使用jQuery 1.11。您可以手动添加叠加,但是当您想要从非模态对话框切换到模态对话框时:

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

如果要从模态对话框切换到非模态对话框,请相应地删除叠加层。