2012-02-23 6 views
1

Я использую jQuery datepicker для запроса ввода даты от пользователя. Я установил локальные значения по умолчанию и создаю правильный формат даты, который я хочу (dd/mm/yyyy). По какой-то причине эта дата публикуется в форме (мм/дд/гггг) - как я могу обеспечить, чтобы был опубликован правильный формат?jQuery datepicker размещение неправильного значения даты

Настройка по умолчанию:

jQuery(function($) { 
    $.datepicker.regional['en-GB'] = { 
     monthNames: [ 
      'January', 
      'February', 
      'March', 
      'April', 
      'May', 
      'June', 
      'July', 
      'August', 
      'September', 
      'October', 
      'November', 
      'December' 
     ], 
     monthNamesShort: [ 
      'Jan', 
      'Feb', 
      'Mar', 
      'Apr', 
      'May', 
      'Jun', 
      'Jul', 
      'Aug', 
      'Sep', 
      'Oct', 
      'Nov', 
      'Dec' 
     ], 
     dayNames: [ 
      'Sunday', 
      'Monday', 
      'Tuesday', 
      'Wednesday', 
      'Thursday', 
      'Friday', 
      'Saturday' 
     ], 
     dayNamesShort: [ 
      'Sun', 
      'Mon', 
      'Tue', 
      'Wed', 
      'Thu', 
      'Fri', 
      'Sat' 
     ], 
     dayNamesMin: [ 
      'Su', 
      'Mo', 
      'Tu', 
      'We', 
      'Th', 
      'Fr', 
      'Sa' 
     ], 
     dateFormat: 'dd/mm/yy', 
     firstDay: 1, 
     renderer: $.datepicker.defaultRenderer, 
     prevText: 'Prev', 
     prevStatus: 'Show the previous month', 
     prevJumpText: '<<', 
     prevJumpStatus: 'Show the previous year', 
     nextText: 'Next', 
     nextStatus: 'Show the next month', 
     nextJumpText: '>>', 
     nextJumpStatus: 'Show the next year', 
     currentText: 'Current', 
     currentStatus: 'Show the current month', 
     todayText: 'Today', 
     todayStatus: 'Show today\'s month', 
     clearText: 'Clear', 
     clearStatus: 'Erase the current date', 
     closeText: 'Done', 
     closeStatus: 'Close without change', 
     yearStatus: 'Show a different year', 
     monthStatus: 'Show a different month', 
     weekText: 'Wk', 
     weekStatus: 'Week of the year', 
     dayStatus: 'Select DD, M d', 
     defaultStatus: 'Select a date', 
     isRTL: false 
    }; 
    $.datepicker.setDefaults($.datepicker.regional['en-GB']); 
}); 

Инициализация DatePicker

$(".datepicker").each(function() { 
     $(this).datepicker({ 
      onSelect: onSelectHandler 
     }); 
    }); 
+4

Показать код. Трудно догадаться, что вы сделали неправильно. – Iznogood

ответ

2

Вам просто нужно сделать это:

$("#datepicker").datepicker({ dateFormat: 'dd-mm-yy' }); 

Отъезд this simple jsFiddle demo.

EDIT: Похоже, ваш код работает для меня. Сделано new fiddle with your code. Кроме того, вам не нужно делать .each(). Просто $ (". Datepicker"). Datepicker ({onSelect: onSelectHandler}); должно сработать.

+0

Это правильное форматирование на странице. Это неправильное значение. –

+0

@ me232 Ах! теперь это нечто другое. Является ли форматирование неправильным в сообщении (вы можете увидеть это с чем-то вроде скрипка?) Или ваш сервер переформатирует его, когда он получает сообщение? –

+0

На самом деле вы делаете хороший момент. Это не точный ответ, но да. Я использую MVC3, и определенное действие контроллера выполняет пост-перенаправление, которое вызывает преобразование и отображается в виде запроса страницы в моих журналах с датой окончания. Я просто надеялся, что кто-то узнает, что делает datepicker, когда дата отправлена, чтобы я мог проверить это. Спасибо за предложение, это, безусловно, приведет к другому вопросу о форматировании даты, но –

2

Если вы используете UI Jquery, установить правильный формат при инициализации, например:

$(".selector").datepicker({dateFormat: 'dd/mm/yy'}); 
+2

'dd/mm/yyyy' приведет к дате '09/02/20122012 '. В этом отношении jqUI не использует стандартное форматирование. –

+0

извините, вы правы. Спасибо. –

+0

NP. Я бы дал тот же ответ, если бы я не беспокоился, чтобы проверить jsFiddle. –

Смежные вопросы