Jquery mobile Jquery Mobile DateBox插件仅在直接链接到页面时工作

Jquery mobile Jquery Mobile DateBox插件仅在直接链接到页面时工作,jquery-mobile,datebox,Jquery Mobile,Datebox,我正在使用DateBox()插件创建一个包含最新版本JqueryMobile的页面,但我发现了一个奇怪的bug。 当我在index.html上打开我的应用程序并通过页面导航到带有日期选择器的页面时,我得到以下信息- 然而,如果我通过地址栏直接进入页面,它工作正常,并显示它应该显示的内容 所以我想知道还有其他人对此有问题吗?或者知道如何修复它吗 我还想补充一点,有人知道如何在文本字段中显示当前日期吗 谢谢。1)看起来是datebox的css加载不正确的问题。您是否在index.html?中加载da

我正在使用DateBox()插件创建一个包含最新版本JqueryMobile的页面,但我发现了一个奇怪的bug。 当我在index.html上打开我的应用程序并通过页面导航到带有日期选择器的页面时,我得到以下信息-

然而,如果我通过地址栏直接进入页面,它工作正常,并显示它应该显示的内容

所以我想知道还有其他人对此有问题吗?或者知道如何修复它吗

我还想补充一点,有人知道如何在文本字段中显示当前日期吗

谢谢。

1)看起来是datebox的css加载不正确的问题。您是否在index.html?中加载datebox的css?在这种情况下,当您直接使用日期选择器转到页面时,CSS可能未加载。您可以使用firefox的firebug或Chrome/Safari中的内置开发工具来检查是否加载了日期框CSS。(查看“资源”选项卡以查看所有加载的资源)

2) 检查这个例子-。在本例中,我在documentready中编写了代码,在您的情况下,您可能需要在
pageinit
pagecreate
事件处理程序中编写代码

在检查实际代码之后,我认为您必须在pageshow事件处理程序中添加上述代码片段,如下所示:(假设bookingPage是页面的id)


您需要加载站点在第一个实例中导航到的实际文件中的文件(
index.html
index)。听起来您在日期选择器页面中只引用了CSS和插件代码,但在默认模式下,jQM使用基于ajax哈希的导航系统,因此您需要以这样一种方式引用资产,即资产一开始就可用。

是的,就是这样!我取出了标题中的代码来清理其他页面,因为我认为如果我不使用它,就没有必要在其中包含代码。谢谢我出去了,所以没有试过显示日期的代码窃贼,但我只是试了一下,效果不错。它在文本字段中显示日期,但不显示1。它将格式更改为错误的格式yyyy-mm-dd,在我将其作为dd-mm-yyyy之前,另一件事是当我调出日历时,它被defult设置为1918年。去掉脚本,一切都会恢复正常。你知道为什么要这样做吗?很好,我把它修好了:)只是把这行改了一下,它修好了日期格式,也停止了显示1918年。var todayStr=today.getDate()+“-”+(today.getMonth()+1)+“-”+today.getFullYear();我说得太快了。。很抱歉时间流逝,我无法编辑最后的评论。这似乎是因为datepicker首先出现了问题,当链接到页面时没有显示出来。但我只是在索引页面和预订时间页面上制作了您所做的脚本。这就是标题代码的样子-jsfiddle.net/jbymv您的意思是说您仍然存在这个问题吗?谢谢Ben!现在全部排序:)
$("#bookingPage").live( 'pageshow',function(event, ui){
  var today = new Date();
    var todayStr = today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate();
    $('#mydate').trigger('datebox', {'method':'set', 'value':todayStr});
     });
});