Javascript 如何在easyui中打开临时定义对话框
在我的项目中,我使用easyUI对话框 首先,我直接在oa.php页面中定义了对话框,如下所示: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
<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);