使用 Datepicker UI 根据 'checkin' 更新 'checkout' 输入

Posted

技术标签:

【中文标题】使用 Datepicker UI 根据 \'checkin\' 更新 \'checkout\' 输入【英文标题】:Update 'checkout' input based on 'checkin' with Datepicker UI使用 Datepicker UI 根据 'checkin' 更新 'checkout' 输入 【发布时间】:2018-09-23 09:58:59 【问题描述】:

我正在使用 Datepicker 开发一个简单的签入和签出表单,我让它始终将签入显示为今天,结帐显示为明天。

<?php
$today = date("Y-m-d");
$tomorrow = new DateTime('tomorrow');
?>
<div class="row">
     <input type="text" class="datepicker" name="datein" value="<?php echo $today; ?>" readonly='true'>
     <input type="text" class="datepicker" name="dateout" value="<?php echo $tomorrow->format('Y-m-d'); ?>" readonly='true'>
</div>

我希望结帐日期始终是签入 + 1 天。 有没有办法动态检查签入值并在任何事件上更新结帐,还是我应该采取不同的方法?

谢谢

【问题讨论】:

【参考方案1】:

试试这个

<input id="checkIn" type="text" class="datepicker" name="datein" value="" readonly='true'>
     <input id="checkOut" type="text" class="datepicker" name="dateout" value="" readonly='true'>


 $(function ()          
var dateToday = new Date(new Date().getTime();
var oneDayAhead = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);

   $("#checkIn").datepicker(
       changeMonth: true,
       minDate: dateToday,
       dateFormat: 'yy-mm-dd',
   );

   $("#checkOut").datepicker(
           changeMonth: true,
           minDate: oneDayAhead,
           dateFormat: 'yy-mm-dd',
        );
);

这基本上是,它将结帐时间限制在当前时间前一天,您可以根据需要进行修改

【讨论】:

谢谢,但它似乎不起作用。结帐不会改变。 您希望它自动预先填写退房日期吗? 不,我可以把它送到预场。但我希望它与第一个字段一起改变。例如。我在第一个字段中选择 4 月 1 日,并且我希望将 4 月 2 日设置为第二个字段(+1 天)。您的解决方案是有道理的,但它不起作用,正如您在小提琴中看到的那样。

以上是关于使用 Datepicker UI 根据 'checkin' 更新 'checkout' 输入的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jquery UI Datepicker 重定向到 URL:根据所选日期更改 URL 值

如果超出范围,防止 jQuery UI datepicker 更改文本字段的值

jQuery ui datepicker,从onSelect获取星期几

使用 jquery-ui/datepicker 的内存泄漏

jQuery UI datepicker - 如果使用 $('').datepicker('option', ),则加载时输入无效

AngularJs的UI组件ui-Bootstrap分享——Datepicker Popup