我希望用户在从jQuery Datepicker中选择一天时查看详细日期。但是,我想要在数据库中发布和保存的格式必须与显示的格式不同。
如您所见,2个文本框具有此DD, d MM yy
格式。这就是我想向人们展示的东西,所以它保持这种状态。但是为了让我的代码正常工作,这个日期必须以Y-m-d
的格式保存在数据库中(如2012-03-23)
我希望在表单提交转换后避免使用PHP代码。也许隐藏字段会自动获取并转换#enarksi
和#liksi
的值?之后,我将发布隐藏的字段值。
$(document).ready(function() {
var date = new Date();
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
$('#enarksi, #liksi').datepicker({
minDate: new Date(y, m, d),
dateFormat: 'DD, d MM yy'
});
$("#enarksi, #liksi").datepicker($.datepicker.regional["el"]);
});
答案 0 :(得分:1)
使用日期选择器的onSelect事件,您可以在更改时解析日期并将其设置为隐藏字段。
$('#enarksi, #liksi').datepicker({
minDate: new Date(y, m, d),
dateFormat: 'DD, d MM yy',
onSelect: function(selectedDate) {
// Parse the selected date
var instance = $(this).data('datepicker'),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
// Reformat
var formatted = $.datepicker.formatDate('yy-mm-dd', date);
// Set the formatted date
$('#hiddenField').val(formatted);
}
});
您只需找到一些方法来选择隐藏字段。例如,您可以在文本框中使用data-
属性,例如data-hidden-field
,然后只用$('#' + $(this).data('hidden-field')).val(formatted);
替换最后一行代码