jQuery触发DatePicker更改事件

rep*_*ept 5 javascript jquery-ui ruby-on-rails-3

我有以下代码:

$('.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);
});
Run Code Online (Sandbox Code Playgroud)

这会像我想要的那样显示日期格式.但是它只在我点击datepicker后才这样做,而不是最初.

最初显示此日期:

2013-02-17
Run Code Online (Sandbox Code Playgroud)

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

17/02/2013
Run Code Online (Sandbox Code Playgroud)

如何立即显示正确的日期?(上面的代码在.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) } %>
Run Code Online (Sandbox Code Playgroud)

Abu*_*kar 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);
   });
Run Code Online (Sandbox Code Playgroud)

更新:(重要)

我已经看过你的JSFiddle了,你保留了文本框的默认值,value="2013-02-17"因为它显示了启动时的值只是删除它.