0

我有以下设置:

Page1有:

更新

  • 更新:(input type="date"在页面初始化设置为今天)
  • 一个链接到另一个页面(Page2)的按钮,带有列表视图
  • 根据从列表视图页面中选择的用户获取更新的 div

Page2有:

  • 一堆链接的列表视图。

当用户单击它的链接时,Page2会根据日期检查选择是否有效Page1。如果是,那么它会返回Page1并更新div一堆关于选择的信息。如果选择无效,则会弹出一个带有消息和按钮的对话框Start Over

这一切都很好,除了我想做的是当用户点击Start Over重新加载并重定向到Page1

我就是这样做的:

<input type="button" class="reload" value="Start Over" />
$('.reload').live( "click", function()
{
    $.mobile.changePage( "#Page1", {
        transition: "slide",
        reverse: true,
        changeHash: true,
        reloadPage: true
    });
});

这有效,但是一旦重新加载页面,它就不会调用pageinit

$('#Page1').live( 'pageinit',function(event){
  setTodaysDate();
});

因此日期不会显示在Page1

该页面需要重新加载,因为我必须休息,div所以它不会显示任何有关宝贵成功选择的信息。知道如何完成这项任务吗?

4

2 回答 2

0

你为什么不$('#Page1').on('pageshow', ...);改用?

于 2012-07-28T23:44:01.887 回答
0

尝试将以下代码放在第 1 页,

$(document)
  .unbind("pageshow.initializedate")
  .bind("pageshow.initializedate",
    function(event){
      setTodaysDate();
    }
  );

请注意,页面初始化事件(例如 pageinit)只会在每个“页面”触发一次,而显示/隐藏事件则在每次显示和隐藏页面时触发。请注意,在 jQuery mobile 中,页面默认通过 ajax 加载并缓存。每页一次意味着它只会在页面第一次加载时触发,一旦页面被缓存并再次显示,页面初始化事件将不再执行。

于 2012-07-28T23:44:42.627 回答