为什么你不想使用替代格式 http://api.jqueryui.com/datepicker/#option-altFormat with altField http://api.jqueryui.com/datepicker/#option-altField ?
在此处的一个简单示例中,您可以以所需的格式存储和访问日期mm/dd/yy
同时以“他的”所需的格式向用户显示它。看我的jsfiddle http://jsfiddle.net/FVSJm/单击按钮时显示的格式会更改,但 altField 中的格式不会更改。
<input type="text" id="datepicker">
<input type="button" id="changeFormat" value="Change!">
<!-- this would be a hidden input -->
<input type="text" id="altFormat">
$(document).ready(function () {
$('#datepicker').datepicker({
dateFormat: "dd.mm.yy",
altFormat: "dd/mm/yy",
altField: '#altFormat'
});
$('#changeFormat').click(function () {
//changes the dateformat the user sees
$('#datepicker').datepicker('option', 'dateFormat', 'dd-mm-yy');
console.log($('#datepicker').datepicker('option', 'altFormat'));
});
});
((在第一个示例中不小心使用了 dd/mm/yy 而不是 mm/dd/yy))
EDIT
This 工作示例 http://jsfiddle.net/FVSJm/6/将日期存储在mm/dd/yy
格式在data-altformat
您可以轻松访问的属性
$('#datepicker').data('altformat'); //outputs e.g. 05/31/2013
onSelect 我通过执行以下操作将 currentDate 的值存储在属性中
onSelect: function () {
//gets your desired format
var altFormat = $(this).datepicker('option', 'altFormat');
//get current date in user format
var currentDate = $(this).datepicker('getDate');
//format from user format to desired format
var formatedDate = $.datepicker.formatDate(altFormat, currentDate);
//set data-* attribute to formatedDate
$('#datepicker').data('altformat', formatedDate);
$('#altFormat').val(formatedDate);
}
此方法的优点是您不再需要隐藏输入。
我希望这可以帮助你。
EDIT2
只是注意到你不需要new Date()
with .datepicker('getDate')