2

我是 jquery 和 Javascript 中的一个总(就像没有经验一样)菜鸟,我想做的是以下几点:

我将一个文章对象传递给我的模板,其中存储了日期信息。我可以使用 访问和显示该信息{{ article.pubdate }}。是否可以将defaultDatedatepicker 的选项设置为文章日期?
我该怎么做呢?

感谢您的任何指点!

更新:有关以下内容的更多信息{{ article.pubdate }}
它是一个日期时间对象。字符串的显示格式可以编辑,所以{{ article.pubdate|date:"Y-m-d"}}给出一个日期,比如 2013-07-27。

更新 2:我在页面上显示文章日期,如下所示:

<div id="article-pubdate">
        {{ article.pubdate|date:"Y-m-d" }}
</div>

这给了我2013-07-27一个显示在页面上的字符串。在阅读之后,我尝试了以下方法将该字符串放入 datepicker 中,如下所示:

<script>
  $(function () {
      var a = $("#article-pubdate").text();
      var the_date = $.datepicker.parseDate("yy-mm-dd", a);
      $(".datepicker input").datepicker({
          dateFormat: "yy-mm-dd",
          changeMonth: true,
          changeYear: true,
          yearRange: '1990:2013',
          defaultDate: the_date,
      });
  });
</script>

但这不起作用,为什么?

更新 2:如果我defaultDate这样设置:

<script>
  $(function() {
    $( ".datepicker input" ).datepicker({
         dateFormat: "yy-mm-dd",
         changeMonth: true,
         changeYear: true,
         yearRange:'1990:2013',
         defaultDate:"2001-01-01"
    });
  });
</script>

它工作得很好。有没有办法将日期信息直接传递给 datepicker?

4

1 回答 1

1

您可以使用setDate设置默认日期

您需要在初始化日期选择器后使用它,因为您需要传递日期对象

$('#datepicker').datepicker(datepicker({
      dateFormat: "yy-mm-dd",
      changeMonth: true,
      changeYear: true,
      yearRange: '1990:2013',
  });

$('#datepicker').datepicker('setDate', new Date($("#article-pubdate").text().replace(/\-/g, ',')));
于 2013-07-27T15:46:09.390 回答