2015-11-27 2 views
0

im используя jQuery datepicker в моем php-коде специально для браузеров, таких как IE и Firefox. Формат даты по умолчанию datepicker равен mm/dd/yyyy, однако для хрома, поскольку набор выбора даты уже доступен, он показывает dd/mm/yyyy. Независимо от формата отображения, я хочу только отправить обратно на сервер «yyyy-mm-dd» или как в php-дату («Ymd»)jquery datepicker имеет разный формат в разных браузерах

Как я могу отображать дату с datepicker как dd/mm/yyyy и отправить в базу данных как yyy-mm-dd? При этом я не хочу влиять на Chrome, который уже работает правильно. Спасибо за любой совет.

+1

Вы могли бы опубликовать код, в котором вы инициализируете datepicker? –

+0

Как вы «отправляете обратно на сервер»? Как вы «отправляете в базу данных»? Если вы отправляете сервер через javascript (в соответствии с тегами), вы можете его проанализировать/переформатировать перед отправкой. Вы также можете проанализировать дату на стороне сервера перед отправкой в ​​БД. –

+0

Как вы форматируете свой ''? Chrome (неправильно IMO) рисует окно даты иначе, если это '' –

ответ

1

Вы можете использовать dateFormat вариант:

$("#datepicker").datepicker( 
    "option", "dateFormat", "yy-mm-dd" 
); 
2

Установите формат datepicker попробовать это: -

$("#datepicker").datepicker("option", "dateFormat", 'yy-mm-dd'); 

More details

+1

Привет, спасибо, вы решили мою проблему 3 часа. Оно работает. Я приму этот ответ. Еще раз спасибо!! – schenker

1

Вы должны указать dateFormat другой мудрое его зависимое к браузеру.

$(function() { 
 
    $("#datepicker").datepicker(); 
 
    $("#format").change(function() { 
 
     $("#datepicker").datepicker("option", "dateFormat", $(this).val()); 
 
    }); 
 
    });
<!doctype html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>jQuery UI Datepicker - Format date</title> 
 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
 

 
</head> 
 
<body> 
 
    
 
<p>Date: <input type="text" id="datepicker" size="30"></p> 
 
    
 
<p>Format options:<br> 
 
    <select id="format"> 
 
    <option value="mm/dd/yy">Default - mm/dd/yy</option> 
 
    <option value="yy-mm-dd">ISO 8601 - yy-mm-dd</option> 
 
    <option value="d M, y">Short - d M, y</option> 
 
    <option value="d MM, y">Medium - d MM, y</option> 
 
    <option value="DD, d MM, yy">Full - DD, d MM, yy</option> 
 
    <option value="&apos;day&apos; d &apos;of&apos; MM &apos;in the year&apos; yy">With text - 'day' d 'of' MM 'in the year' yy</option> 
 
    </select> 
 
</p> 
 
    
 
    
 
</body> 
 
</html>

Ссылка: jqueryui datepicker

0

Благодаря Rahautos. Я сделал это:

<script type="text/javascript"> 
if (datefield.type!="date"){  jQuery(function($){   
    $('#datepicker').datepicker(); 
    $("#datepicker").datepicker("option", "dateFormat", 'yy-mm-dd');   
}) 

} 
</script> 
Смежные вопросы