2014-10-31 53 views
1

我在jQuery Mobile的「面板」上執行的過濾功能:jQuery Mobile的選擇onClose事件會

  • 我點擊任何按鈕,呼叫過濾,從左側面板中的幻燈片並有過濾器選項設置電流濾波器。
  • 如果多個選擇框包含很多選項,它將顯示在覆蓋整個頁面的黑色背景上,並關閉面板。

我需要重新打開過濾器面板此對話框複選關閉後...

我使用這個:

$('#filter select').bind('change',function(){ 
    $('#filter').panel('open'); 
}); 

這是如果用戶確實任何OK改變打開的對話框(選擇)...
但是,如果他只是關閉這個對話框使用X按鈕沒有任何改變?對話框消失,但面板不會重新打開。

非常感謝您的幫助。

回答

3

jQuery的移動定製selectmenu要麼轉換成彈出或取決於屏幕尺寸和選項長度的對話框

selectmenu是對話框時,它將導航到一個新的對話框頁面。在這種情況下,您可以收聽pagecontainer事件以檢索之前的prevPage和下一頁toPage

如果上一頁是對話框/選擇菜單,請在下一頁中打開面板。

$(document).on("pagecontainershow", function (e, data) { 
    var previousPage = data.prevPage, 
     nextPage = data.toPage; 
    if (previousPage.hasClass("ui-selectmenu")) { /* or ui-dialog */ 
     $(".ui-panel", nextPage).panel("open"); 
    } 
}); 

Demo

+0

我使用JQM 1.3.2,我已經發現,pagecontainershow可自1.4.1 - 所以我用 「pageshow」,而不是。那麼這個作品完美! – Pavel 2014-10-31 13:42:25

+0

@ user1846815不客氣。我建議使用jQM 1.4.4,很快1.3將會過時並且不受支持。 – Omar 2014-10-31 13:43:40

+0

我同意 - 這是「較舊」的項目,並且在從1.3.x更改爲1.4.x時存在一些不兼容的地方 - 所以我在等待這個好機會......但是我知道,我必須改變這個。謝謝! – Pavel 2014-10-31 13:50:01