Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 如何在easyui中打开临时定义对话框_Javascript_Jquery_Jquery Easyui - Fatal编程技术网

Javascript 如何在easyui中打开临时定义对话框

Javascript 如何在easyui中打开临时定义对话框,javascript,jquery,jquery-easyui,Javascript,Jquery,Jquery Easyui,在我的项目中,我使用easyUI对话框 首先,我直接在oa.php页面中定义了对话框,如下所示: <div id="assDlg" class="easyui-dialog" title="associateDlg" closed="true" modal="true" style="width:1000px;height:600px;top:130px;left:400px"> <div class="easyui-layout" style="position:static

在我的项目中,我使用easyUI对话框

首先,我直接在oa.php页面中定义了对话框,如下所示:

<div id="assDlg" class="easyui-dialog" title="associateDlg" closed="true" modal="true" style="width:1000px;height:600px;top:130px;left:400px">
<div class="easyui-layout" style="position:static;height:15%;width:100%" data-options="region:'north',title:'',split:true"> 
</div>
<div class="easyui-layout" id="assSDiv" style="position:static;height:85%" data-options="region:'south',title:'',split:true">
    <table id="assTB"  title="" class="easyui-datagrid" ></table>
</div>
</div>
然后,我想打开以下对话框:

 $('#assDlg').dialog('open');
它失败了。什么也看不出来

所以我用谷歌搜索这个问题的答案,我发现easyui对话框不能直接在页面中定义

关闭的对话框可以再次打开,但被破坏的对话框不能。销毁对话框后,此对话框不再存在,用户无法再对其执行任何操作

我尝试了另一种方法来关闭它:

$('#assDlg').dialog.('close');
但当它被打开两次以上时,它会感到困惑

谷歌有人建议临时定义对话:

$('<div></div>').dialog({  
id:"assDlg",    
title:"associateDlg",  
top:130,
left:400,
width: 1000,      
height: 600,      
closed: false,      
cache: false,      
href:'assDocDlg.php',   
modal: true,  
onClose:function(){  
    $(this).dialog('destroy');  
    }  
});   
它又失败了。对话的临时定义似乎没有错


谁能帮助我?

如果要重新打开对话框,请关闭对话框(而不是销毁)

我试过你的代码,关闭和重新打开都很好

<div style="margin:20px 0;">
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#assDlg').dialog('open')">Open</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#assDlg').dialog('close')">Close</a>
</div>

<div id="assDlg" class="easyui-dialog" title="associateDlg" closed="true" modal="false" style="width:1000px;height:600px;top:130px;left:400px">
    <div class="easyui-layout" style="position:static;height:15%;width:100%" data-options="region:'north',title:'',split:true"> 
    </div>
    <div class="easyui-layout" id="assSDiv" style="position:static;height:85%" data-options="region:'south',title:'',split:true">
        <table id="assTB"  title="" class="easyui-datagrid" ></table>
    </div>
</div>

我找到了避免此问题的方法:

var tbStr='<table id="assTB"  title="" class="easyui-datagrid" ></table>';
$("#assSDiv").html(tbStr);
var-tbStr='';
$(“#assSDiv”).html(tbStr);

我尝试过这种方法,但它打开时没有问题。但是当我第二次打开并调用:var getItems=$(“#assTB”).datagrid(“getChecked”);getItems的值不正确,因为关闭方式只是隐藏对话框。因此,重新打开对话框时网格出现问题。现在我明白了。当我有时间的时候,我也会看一遍。对不起。我无法重现您的问题。:/对我来说,一切似乎都很好。但我不是在使用PHP,我是在测试所有静态的东西,所以我认为我们不在同一页上。
$('#assDlg').dialog('open');
<div style="margin:20px 0;">
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#assDlg').dialog('open')">Open</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#assDlg').dialog('close')">Close</a>
</div>

<div id="assDlg" class="easyui-dialog" title="associateDlg" closed="true" modal="false" style="width:1000px;height:600px;top:130px;left:400px">
    <div class="easyui-layout" style="position:static;height:15%;width:100%" data-options="region:'north',title:'',split:true"> 
    </div>
    <div class="easyui-layout" id="assSDiv" style="position:static;height:85%" data-options="region:'south',title:'',split:true">
        <table id="assTB"  title="" class="easyui-datagrid" ></table>
    </div>
</div>
var tbStr='<table id="assTB"  title="" class="easyui-datagrid" ></table>';
$("#assSDiv").html(tbStr);