如何从查询字符串初始化jQuery UI datepicker到日期?

时间:2009-05-18 20:39:09

标签: jquery jquery-ui datepicker

鉴于此标记:

// Calendar.html?date=1/2/2003
<script>
  $(function() { 
    $('.inlinedatepicker').datepicker();
  });
</script>
...

<div class="inlinedatepicker" id="calendar"/>

这将显示一个内联日期选择器,只需很少的努力(真棒!)。如何通过查询字符串将日期选择器预设为传入的日期?

请注意,在这种情况下,我没有输入框 - 只是附加到div的日历。

3 个答案:

答案 0 :(得分:12)

这应该可行,但您可能会遇到区域设置问题(特别是M / D / Y与D / M / Y)。

var date = location.match(/(?:\?|&)date=(\d+\/\d+\/\d+)(&|$)/)[1];
$('.inlinedatepicker').datepicker().datepicker("setDate", new Date(date));

答案 1 :(得分:2)

我设法用

做到了这一点
$('.inlinedatepicker').datepicker().datepicker("setDate", new Date(2011,11,01)); // Date equals December 1, 2011.

我不得不从月份中减去一个来获得正确的日期,因为似乎日期从零开始(0 = 1月)

答案 2 :(得分:2)

除了@Ben空白答案,你可以像这样使用 defaultDate

var date = location.match(/(?:\?|&)date=(\d+\/\d+\/\d+)(&|$)/)[1];
$('.inlinedatepicker').datepicker({defaultDate:new Date(date)});