jQuery Mobile选择onclose事件 [英] jquery mobile select onclose event

查看:259
本文介绍了jQuery Mobile选择onclose事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 jQuery Mobile 的面板"上实现了过滤器功能:

I have a filter function implemented on "panel" in jQuery Mobile:

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

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

I need to reopen the panel with filter after this dialog of multi-select is closed...

我正在使用这个:

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

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

This is OK if the user does any change in opened dialog (select)...
But what if he just closes this dialog using the X-button without any change? Dialog disappears, but panel is not reopened.

非常感谢您的帮助.

推荐答案

jQuery Mobile自定义 selectmenu 可以转换为 popup dialog 取决于屏幕尺寸和选项长度.

jQuery Mobile custom selectmenu are either converted into popup or a dialog depending on screen size and options length.

选择菜单为对话框时,它将导航到新的对话框页面.在这种情况下,您可以收听 pagecontainer事件以检索上一页prevPage和下一页toPage.

When the selectmenu is dialog, it navigates to a new dialog-page. In that case, you can listen to pagecontainer events to retrieve previous prevPage and next page toPage.

如果上一页是对话框/选择菜单,请在下一页打开面板.

If previous page is a dialog/selectmenu, open panel in next page.

$(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

这篇关于jQuery Mobile选择onclose事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆