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 の問題でした。

私はアブのアドバイスに従い、レールで次のようにしました:

<%= 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 に答える