jQuery Mobile选择onclose事件 [英] jquery mobile select onclose event
问题描述
我在 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屋!