在Jquery UI datepicker字段中从数据库预先确定日期

时间:2012-06-19 14:02:44

标签: php jquery mysql jquery-ui-datepicker

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

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

编辑:

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

我可以做些什么来禁止datepicker隐藏我的值?并且只有在我点击并选择日期时才替换这些值。

HTML代码:

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

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

Datepicker设置:

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

4 个答案:

答案 0 :(得分:0)

Datepicker超值写入。我建议你在专注于日期字段时触发datepicker。

答案 1 :(得分:0)

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

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

真实的故事。

答案 2 :(得分:0)

为此改变:

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

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

答案 3 :(得分:0)

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

您的数据库日期格式为YYYY-MM-DD 您的jQuery UI格式为yy-mm-dd 看错了什么?你失踪了一年中至少2位数。

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

示例:

$( "#date" ).datepicker({ dateFormat: "dd-MM-yyyy" });
$( "#date" ).datepicker( "option", "dateFormat", "dd-MM-yyyy" );