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() 方法?
因此,我在 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() 方法?