【问题标题】:Jquery UI Datepicker wrong date in Safari only仅在 Safari 中的 Jquery UI Datepicker 错误日期
【发布时间】:2014-10-06 05:27:52
【问题描述】:

我发现了一个奇怪的错误,其中 Jquery Ui 显示错误的日期,但仅在 Safari 中。例如,我将日期设置为“2014-10-05”,但 Safari 中的日期选择器将其显示为 2014-10-04。如果我查看源代码,它将日期值显示为 2014-10-05。如果我使用其他浏览器,那么它会显示正确的日期。

我已经使用以下代码实现了:

<?php $event_date   = "2014-10-05"; ?> 
<script>
$(function() {
    $( "#event_date" ).datepicker();
    $( "#event_date" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
    $( "#event_date" ).datepicker( "setDate", "<?php echo $event_date; ?>" );
});
</script>

<label for="event_date">Date</label> 
<input id="event_date" name="event_date" type="text" value="<?php echo $event_date; ?>" /> 
<em>(Event Date: <?php echo $event_date; ?>)</em>

这会将代码输出为:

<input id="event_date" name="event_date" type="text" value="2014-10-05" class="hasDatepicker">

但 Safari 日期选择器显示日期为 10 月 4 日!其他浏览器都可以。

您可以在 jFiddle 中看到这种情况:

http://jsfiddle.net/vLn0ttc8/

【问题讨论】:

  • 我将日期设置为“2014-10-05”,但 Safari 中的日期选择器显示为 2014-10-05. 这有什么问题?
  • 您在使用 Safari 吗?我刚刚添加了一个 jFiddle 链接,它在 Safari 中显示不正确的日期,但在 Firefox 等中显示正确的日期。
  • 抱歉,刚刚发现您说您使用的是 Safari。我想知道这是否与时区有关?我可以为此添加屏幕截图吗?
  • 在此处查看显示错误的屏幕截图:picpaste.com/Screen_Shot_2014-10-04_at_12.32.02_pm-SrYKPMCk.png
  • 我只是在问你在问题中写了什么。您将日期设置为 10-05,并说它显示 10-05。这就是它应该做的。你是不是打错了它显示的内容?

标签: jquery safari datepicker


【解决方案1】:

Jquery UI 突出显示当前日期和您通过 setDate 方法提供的日期。它工作正常。如果你真的认为有问题,请尝试更新 jquery-ui

【讨论】:

  • 不幸的是,这不是问题所在。这个错误发生在一个多星期前,当时日期不相邻。此外,它在输入字段中显示错误的选择日期。因此,当您保存条目(这是表单的一部分)时,它会错误地更新日期字段。
  • 例如,我将年份设置为 2015,它在输入字段中正确显示日期为 2015-10-05。但是,如果我输入 2015-10-04 作为日期,它会显示 2015-10-03!!!!!!!
  • 我在 safari 7.1 codepen.io/daniesy/pen/aojKB 中这样做,它工作正常。试试看。
  • 谢谢达努特。我试过了,但它也给了我错误的日期。我正在使用 Safari 7.0.5。我的 iPad 上也有同样的结果。
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 2014-04-19
  • 2016-06-09
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 2016-06-03
相关资源
最近更新 更多