5

我有以下代码:

$('.custom_datepicker_selector').datepicker({
  weekStart: 1
})
.on('changeDate', function(en) {
  var correct_format;
  correct_format = en.date.getFullYear() + '-' + ('0' + (en.date.getMonth() + 1)).slice(-2) + '-' + ('0' + en.date.getDate()).slice(-2);
  $('.custom_datepicker_selector').datepicker('hide');
  return $(this).parent().find("input[type=hidden]").val(correct_format);
});

这就像我想要的那样显示日期格式。但是,它仅在我单击日期选择器后才这样做,而不是最初。

最初显示此日期:

2013-02-17

在我点击它之后,我得到了这个:

17/02/2013

如何立即显示正确的日期?(上面的代码在 .ready

我为此创建了一个 jsFiddle:http: //jsfiddle.net/jwxvz/

这比 javascript 更像是一个 rails 问题:

我遵循了 abu 的建议,并在 rails 中这样做了:

<%= f.input :order_date, :as => :custom_datepicker, :input_html =>  { :value => localize(@client_order.order_date) } %>
4

2 回答 2

6

您也可以定义默认日期格式。

试试这个:

$('.custom_datepicker_selector').datepicker({
  weekStart: 1,
  dateFormat: 'dd/mm/yy'
}).on('changeDate', function(en) {
      $('.custom_datepicker_selector').datepicker('hide');
      return $(this).parent().find("input[type=hidden]").val(en);
   });

更新:(重要)

我看过你的 JSFiddle,你保留了文本框的默认值,因为value="2013-02-17"这就是为什么它在开始时显示该值只是删除它。

于 2013-02-17T09:10:34.023 回答
0

只是你必须使用:

$('.custom_datepicker_selector').datepicker({
weekStart: 1,
dateFormat:'yy-mm-dd'
})

你可以在这里参考:链接

于 2013-02-17T09:15:34.790 回答