在使用Easyui折叠面板的时候,当折叠面板与Dialog共同使用的时候会出现一个问题,就是当你打开dialog,展开所有的折叠面板后,关闭dialog,在重新打开的时候发现折叠面板没有复原,这个时候就需要考虑如何在关闭dialog的时候同时关闭所有的折叠面板。Esayui的中文官网也没有通过该方法,通过研究发现,通过组合使用easyui提供的方法可以实现目的。具体代码如下:
function closePanel(){
var aelectionsarrys = $("#accordionPanel").accordion('getSelections');
if(aelectionsarrys != null && aelectionsarrys.length != 0){
for (var i = 0; i < aelectionsarrys.length; i++) {
aelectionsarrys[i].panel('collapse');
}
}
$('#dlg').dialog('close');
}
上面的代码可以发现,主要方法就是首先获取所有打开的折叠面板,然后遍历,通过collapse来关闭折叠面板就可以首先效果
未使用上述代码前,dialog打开情况如下图:
使用代码后,重新打开dialog如下图:
备注:在实现上述目的的同时还解决了另一个问题,就是打开指定的选项卡,即和上述问题一样,在关闭dialog的时候初始化选项卡,在下一次打开dialog的时候打开默认的选项卡而不是上一次最后打开的选项卡,具体代码为:
$('#Ttabs').tabs('select',0);
其中0是选项卡的索引,想要知道选项卡的索引可以根据title,调用下面的代码获得:
var tab = $('#Ttabs').tabs('getSelected');
var index = $('#Ttabs').tabs('getTabIndex',tab);
alert(index);