1. 程式人生 > >Easyui如何關閉所有的摺疊面板Accordion Actions

Easyui如何關閉所有的摺疊面板Accordion Actions

在使用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);