【问题标题】:Prefil date from database in Jquery UI datepicker field在 Jquery UI datepicker 字段中从数据库中预过滤日期
【发布时间】:2012-06-21 14:12:44
【问题描述】:

我有一个编辑表单,其中的值是从数据库中填充的。我有一个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" );
});

【问题讨论】:

  • 显示设置日期选择器功能以及在输入中打印时
  • 当您在代码中创建日期选择器时,使用“beforeShow”方法将您的初始化日期值传递给日期选择器。所以做这样的事情: $('.selector').datepicker({ beforeShow: function(input, inst) { ... } });参考:jqueryui.com/demos/datepicker/#event-beforeShow BTW:看看一些代码会有所帮助,这样我们就知道目前是如何定义的。

标签: php jquery mysql jquery-ui-datepicker


【解决方案1】:

为此改变:

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

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

【讨论】:

  • 经过大量搜索,我在这里找到了答案 stackoverflow.com/questions/8200290/… ,顺便说一句,这和你的一样,虽然日期格式需要yy-mm-dd 而不是dd-mm-yy 我的要求,改成哪个,我得到了我想要的。
【解决方案2】:

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

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

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

例子:

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

【讨论】:

  • jQuery 的yy-mm-dd 对应格式YYYY-MM-DD。当您使用yyyy 时,它会给您20122012,即一年两次。
【解决方案3】:

您需要在日期选择器设置代码中设置默认日期。

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

真实的故事。

【讨论】:

  • 我不想那样做。该字段与今天的日期无关。日期是从数据库中检索出来的,它应该显示在输入字段中,而不需要 datepicker 插件将其删除。我确信您的答案可以根据我的需要进行调整,但对于应该非常简单的事情来说,这工作量太大了。
  • 发布您当前的 uiPicker 设置。以及用于显示日期的 HTML 和 PHP 代码。
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多