div 上的日期选择器,具有默认值或来自查询字符串的值

Datepicker on a div, with default value or value from querystring

因此,我在 div 元素上使用了日期选择器(这样日历就始终处于开启状态)。 我有一个默认值,但在某些情况下我想从查询字符串中的值开始。

我试图将值放入 div,它只显示在 div 而不是日期选择器上:/

部分html如下:

<div data-role="page" id="datepickerPage">
  <div id="dateDepart" class="datepicker"></div>
</div>

用于初始化日期选择器的javascript:(它发生在传输页面上):

$(document).on("pageinit", "#datepickerPage", function () {
    initDatePickers();
});


 function initDatePickers(){
 $("#dateDepart").datepicker({
    minDate: 0,
    yearRange: "-0:+1",
    changeYear: true,
    defaultDate: "+1w",
    changeMonth: true,
    numberOfMonths: 1,
    onChangeMonthYear: function (year, month, inst) {
    //some function
    },
    onSelect: function (selectedDate, inst) {

       //some function
    },
});

在常规页面加载中,我从查询字符串中加载日期并放入 DIV:

//singleParam is the isolated date query string
 singleParam = ("from=19%2f02%2f2015").split("=");
 $("#dateDepart").html(unescape(singleParam[1]));

我用这段代码得到的是 div 中的日期 19/2/2015,它指向日期选择器,但日期选择器保持默认日期 (+1week)... (11 /02/2015)

求助??

最终我的解决方案是将 defaultDate 更改为参数:

var defaultDateParam = "+1w";

如果我得到查询参数,我会将 defaultDateParam 替换为该值。

所以我的 init 现在看起来像这样:

$("#dateDepart").datepicker({
  minDate: 0,
  yearRange: "-0:+1",
  changeYear: true,
  defaultDate: defaultDateParam,
  changeMonth: true,
  numberOfMonths: 1,
  onChangeMonthYear: function (year, month, inst) {
    //some function
  },
  onSelect: function (selectedDate, inst) {

     //some function
  },
});

谢谢!

为什么在页面加载后不使用 setDate() 方法?