Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新打开JQM对话框_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 重新打开JQM对话框

Javascript 重新打开JQM对话框,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,大家好,新年快乐 有一个JQM对话框,它通过一个AJAX调用像这样打开 $('#calendar-event-form-container').html(HTML).toggle(); $("#calendar-event-form-container").dialog({theme:'a'}); 就在附近 $("#calendar-event-form-container").dialog('close'); $("#calendar-event-form-container").toggl

大家好,新年快乐

有一个JQM对话框,它通过一个AJAX调用像这样打开

$('#calendar-event-form-container').html(HTML).toggle();
$("#calendar-event-form-container").dialog({theme:'a'});
就在附近

$("#calendar-event-form-container").dialog('close');
$("#calendar-event-form-container").toggle();
下次打开对话框时,它将丢失其JQM主题和位置

有人能看到代码哪里出错了吗

提前谢谢 真诚地
Babak

使用
toggle()
以对话框的形式显示和隐藏表单是非标准的。jQuery Mobile对话框用于显示或隐藏页面
容器。因此,假定它位于当前页面之外,并且在显示为对话框之前不可见


“通过将
data rel=“dialog”
属性添加到页面锚定链接,任何页面都可以显示为模式对话框”

并且leer是正确的,不要将toggle()与jQM一起使用,这是不需要的。创建jQM对话框以用作单独的页面。看看这个例子:

<div data-role="page" id="index">
    <div data-theme="a" data-role="header">
        <h3>
            First Page
        </h3>
        <a href="#second" class="ui-btn-right">Next</a>
    </div>

    <div data-role="content">
        <a href="#" data-role="button" id="open-button">Open dialo</a>         
    </div>

    <div data-theme="a" data-role="footer" data-position="fixed">

    </div>
</div>
<!-- DIALOG BOX -->
<div data-role="page" id="dialog-box" data-theme="b">
    <div data-role="header">
        <h1>Warning</h1>
    </div>
    <div data-role="content">
        <h3 id="dialog-msg">
            Dialog test
        </h3>
        <a href="#" data-role="button" id="close-button">
            Close dialog
        </a>   
    </div>
</div>  
如果要动态更改对话框内容,则必须在其上触发pagecreate以正确重新设置其样式:

$('#dialog-box').trigger("pagecreate");

这里有一个完整的JSFIDLE示例:

感谢您的回答和时间,我将尝试一下。谢谢,您的解决方案帮助我了解了JQM页面的动态。非常感谢。:)谢谢你的回答和时间,我试试看
$('#dialog-box').trigger("pagecreate");