精简版:
在输入字段中,我有一个以“yy-mm-dd”格式显示的日期。我想通过 jqueryUI 获取它并将该日期格式化为 'dd. MM yy' 并将其放回输入字段。
我遇到的问题是,当我从该输入字段中获取值时,它不知道它是哪种格式。
长版:
在我的数据库中,我以典型的格式“yy-mm-dd”保存日期。但是,在使用日期选择器时,出于显示目的,我使用“dd. MM yy”,而在隐藏字段中,我保存“yy-mm-dd”。
当我加载条目以在显示的字段中编辑其日期时,它是“yy-mm-dd”,我也希望它是“dd. MM yy”。
$(function() {
// in my rjquery.ui.datepicker-.... is the "dd. MM yy" set as dateFormat
$.datepicker.setDefaults($.datepicker.regional['....']);
$( "#datepicker_date" ).datepicker({
changeMonth: true,
changeYear: true,
altField: "#alt_date_field",
altFormat: "yy-mm-dd"
});
});
我无法做的是当页面加载时,我猜$(document).ready(function() {});
是获取#datepicker_date中的日期,将其转换为'dd。MM yy' 格式,然后将其放回#datepicker_date 字段中。
对于额外的好处,我想先看看它是什么格式,如果它是'yy-mm-dd'然后转换它(因为由于codeigniter中的验证,该字段将重新填充正确的格式,因为他们会采取正确的格式)。
有点:
$(document).ready(function() {
if( the_format_of_the_date_in_#datepicker_date == 'yy-mm-dd')
//convert it to 'dd. MM yy' and set it to #datepicker_date
});
我希望我不会太混乱。我知道这很简单,但我无法让它发挥作用,我感谢任何帮助。
编辑:
我通过 php 和 codeigniter form_helper 和验证器 set_value() 方法加载数据。
echo form_label('Date:');
$data = array(
'name' => 'date',
'id' => 'datepicker_date',
'readonly' => 'readonly'
);
echo form_input($data, set_value('date', $date_loaded_via_controller));