【问题标题】:How do I initialize a jQuery UI datepicker to a date from the querystring?如何将 jQuery UI 日期选择器初始化为查询字符串中的日期?
【发布时间】:2010-10-27 03:41:33
【问题描述】:

鉴于此标记:

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

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

这将毫不费力地显示一个内联日期选择器(太棒了!)。如何将日期选择器预设为通过查询字符串传入的日期?

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

【问题讨论】:

    标签: jquery jquery-ui datepicker


    【解决方案1】:

    这应该可行,但您可能会遇到语言环境问题(特别是 M/D/Y 与 D/M/Y)。

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

    【讨论】:

    • 我试试看。对我来说似乎很疯狂,没有内置的 jquery 可以在不使用插件或复杂代码的情况下获取查询字符串参数值。
    • 我不怀疑某个地方有一个插件,但是除了 DOM 操作和 Ajax 之外,jQuery 核心包含的东西很少。
    【解决方案2】:

    我设法用

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

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

    【讨论】:

      【解决方案3】:

      除了@Ben Blank 答案,您还可以像这样使用 defaultDate

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多