Почему не удается изменить dateFormat моего jQuery datepicker? - PullRequest
4 голосов
/ 29 июня 2011

Я знаю, что здесь есть множество вопросов об изменении datePicker dateFormat, но я точно следую инструкциям, и они, кажется, не имеют никакого эффекта Вот точный код, который был предложен в других ответах:

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

Тем не менее, когда я запускаю его и проверяю значение datepicker с помощью alert($('#datepicker').datepicker("getDate"));

Я получаю дату обратно в нежелательном формате! Это очень запутанно. Я что-то не так? См. Описанное поведение на http://jsfiddle.net/TmdM8/

edit: еще более запутанным является то, что если я читаю формат даты, используя alert($("#datepicker").datepicker('option', 'dateFormat'));

... возвращенный формат даты верен, хотя вызов getDate не возвращает дату в нужном формате. Смотри http://jsfiddle.net/fWmBe/

Ответы [ 4 ]

5 голосов
/ 29 июня 2011

настройка формата даты соответствует тому, как выглядит формат, когда он отображается в текстовом поле, к которому применяется средство выбора.

взгляните на мою обновленную версию вашей скрипки:

http://jsfiddle.net/TmdM8/1/

Как вы можете видеть, когда вы выбираете текстовое поле и выбираете дату, она соответствует указанному вами формату.
Насколько я знаю, функция getDate возвращает дату javascript.

EDIT: если вы хотите отформатировать выходные данные из даты javascript, вам нужно будет использовать собственный скрипт или библиотеку типа date.js (у меня это получилось очень успешно).

http://code.google.com/p/datejs/

с этим вы можете сделать что-то вроде:

$('#datepicker').datepicker("getDate").toString('dd-MM-yyyy');

чтобы получить дату в понравившемся вам формате

0 голосов
/ 23 марта 2014

в случае, если кто-то ищет этот ответ, как я. вот рабочий код:

<script>
$(function() {
$( "#datepicker" ).datepicker({inline: true, dateFormat:'yy-mm-dd'}); });
</script>
0 голосов
/ 29 июня 2011

Что здесь происходит, так это то, что getDate возвращает объект даты в формате JavaScript Вы видите метод toString объекта date.

Попробуйте это:

$(document).ready(function() {
   $('#datepicker').datepicker({
   onSelect: function(dateText, inst) { alert(dateText) }
   });
$('#datepicker').datepicker( "option" , 'dateFormat', 'yyyy-mm-dd' )


});
0 голосов
/ 29 июня 2011

Я согласен, что он возвращает дату javascript. Вы можете использовать эту служебную функцию:

$. Datepicker.formatDate (формат, дата, настройки) - форматирование даты в строковое значение с указанным форматом.

от http://docs.jquery.com/UI/Datepicker/formatDate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...