2

我有一个编辑表单,其中的值是从数据库中填充的。我有一个date格式的字段yyyy-mm-dd。我已经设置了jQuery Datepicker及其在日期字段上的工作,但是,当我检查 HTML 源时,当表单首次加载时,即使输入类型具有来自数据库的值,日期字段也是空的。

如何让我的日期字段显示数据库中的日期?

编辑:

我希望我的输入值在文本字段中可见,而不是从数据库中获取值并再次将其插入到 jQuery/javascript 变量/函数中(默认日期,显示之前什么不)。

我可以做些什么来禁止datepicker隐藏我的价值观?并且仅在我单击并选择日期时才替换值。

HTML 代码:

<input type="text" id="date" name="reg_date" value="2012-01-30" />

实际代码在 PHP 中,从数据库中检索值并插入到值字段中。这些值是正确生成和插入的,因为我通过查看 Firefox 中的 HTML 源代码对其进行了验证。

日期选择器设置:

$(function() {
    $( "#date" ).datepicker({
        changeMonth: true,
        changeYear: true
});
    $( "#date" ).datepicker({ dateFormat: "yy-mm-dd" });
    $( "#date" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
});
4

4 回答 4

0

Datepicker 是覆盖值。我建议您在关注日期字段时触发日期选择器。

于 2012-06-19T14:18:58.023 回答
0

您需要在 datepicker 设置代码中设置默认日期。

示例:$( ".selector" ).datepicker({ defaultDate: +7 });将默认日期设置为从现在起 7 天。

真实的故事。

于 2012-06-19T15:44:38.090 回答
0

为此改变:

$(function() {
    $( ".date" ).datepicker({
        dateFormat: "yy-mm-dd",                 
        changeMonth: true,
        changeYear: true
    });
});

如果您的浏览器已缓存...按 CTRL + F5

于 2012-06-19T19:31:31.117 回答
0

好吧,现在您已经发布了代码,这非常明显。

您的数据库日期格式是 YYYY-MM-DD 您的 jQuery UI 格式是 yy-mm-dd 看看有什么问题?您缺少至少 2 位数字。

要解决此问题,只需在代码中输入正确的格式。

例子:

$( "#date" ).datepicker({ dateFormat: "dd-MM-yyyy" });
$( "#date" ).datepicker( "option", "dateFormat", "dd-MM-yyyy" );
于 2012-06-19T20:44:54.397 回答