javascript - 更改单独的表单字段时,JQuery 日期选择器默认为 1970-01-01

标签 javascript jquery date datepicker

我一直在用头撞墙试图解决这个问题。

我有一个使用日期选择器的日期字段和一个 7 或 14 天的持续时间字段。日期选择器工作正常,即使我将所选值默认为日期选择器,如果您将天数下拉列表从 7 更改为 14,您将看到日期默认为 1970-01-01。

<?php
$datetoday = date('Y-m-d');
$dateselected = date('Y-m-d');
$dateformatted = date('d/m/Y');
$daysselected = '7';

if(isset($_POST['date']) && isset($_POST['days'])){
  $dateselected=date('Y-m-d',strtotime($_POST['date']));
  $dateformatted=date('d/m/Y',strtotime($_POST['date']));
  $daysselected = $_POST['days'];
}
?>
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>

<script>
  $( function() {
    $( "#datepicker" ).datepicker();
  } );
</script>

<form name="CheckAvailability" method="POST">
Select Date: <input onchange='this.form.submit()' class="datepicker" type="text" id="datepicker" name="date" value="<?php echo $dateformatted ?>">
Days to Show: <select onchange='this.form.submit()' type="hidden" name="days">
<option value="7" id="days" name="days">7 days</option><option value="14">14 days</option></select>
<button onchange='this.form.submit()' type="submit" value="<?php echo date('Y-m-d', strtotime($datetoday)); ?>" id="date" name="date">Today</button>
<noscript><input type="submit" value="Submit"></noscript>
</form>
</body>

<?php

echo 'Date selected: ' . $dateselected . ' for ' . $daysselected . ' days' . '<br /><br />';

?>
</body>

如何让日期选择器记住它已有的日期?

感谢任何帮助或指导。

亲切的问候,

最佳答案

也许我错过了您要问的内容,但您可以在提交之前选择当前日期:

var myDate = $("#datepicker").datepicker('getDate');

并通过表单传递此内容,然后在初始化日期选择器后:

$("#datepicker").datepicker('setDate', myDate);

提交后再次加载页面时重新加载所选日期。

关于javascript - 更改单独的表单字段时,JQuery 日期选择器默认为 1970-01-01,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784862/

相关文章:

javascript - 初始化时 Eslint 错误!针对爱彼迎标准运行 'eslint --init' 时,JSON 中位置 139 处出现意外 token {

javascript - 在加载时而不是在悬停时更改 div 宽度

javascript - 如何使用jquery防止用户在同一个单词中重复一个字符超过3次

jquery - 添加类(或属性)(如果尚不存在)

javascript - 在 JQUERY 中创建特定的表单

javascript - 使用矩以编程方式设置 ionic /Angular 日期输入

javascript - 两个实例包含相同的值

javascript - 如何在 ASP.NET 中实现 "Auto Save"或 "Save Draft"功能?

javascript - moment js中的自定义长日期格式

java - ResultSet.getDate() 返回错误的日期