我一直在试图解决这个问题。
我有一个使用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>
如何让datepicker记住它已经拥有的日期?
感谢任何帮助或指导。
亲切的问候,
罗布
答案 0 :(得分:1)
也许我错过了您的要求,但您可以在提交之前选择当前日期:
var myDate = $("#datepicker").datepicker('getDate');
并将其与表单一起传递,然后在初始化datepicker之后:
$("#datepicker").datepicker('setDate', myDate);
重新加载提交后再次加载页面时所选的日期。