jquery mobile选择onclose事件

时间:2014-10-31 08:17:49

标签: javascript jquery jquery-mobile

我在 jQuery Mobile 中的“panel”上实现了一个过滤功能:

  • 我通过点击任何按钮调用过滤器,面板从左侧滑动,并有过滤器选项来设置当前过滤器。
  • 如果多个选择框包含很多选项,则会在覆盖整个页面的黑色背景上显示,并关闭面板。

关闭此多选对话框后,我需要使用过滤器重新打开面板...

我正在使用它:

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

如果用户在打开的对话框中进行任何更改(选择),则可以 但是如果他只是使用X按钮关闭此对话框而没有任何改变呢?对话框消失,但面板未重新打开。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

jQuery Mobile自定义 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