1

我对 JQuery 日期选择器有以下问题,有 2 个字段和一个机器人用于日期,我希望从今天开始日期范围,并且能够在未来最多 2 周内进行选择。下面的代码正在执行此操作,但是问题是当您第一次访问第二个字段时,第一个字段具有从今天开始的所有可用日期,而不仅仅是未来 2 周,然后如果您稍微摆弄一下字段,所有日期都在第一个字段中可用从过去。请帮忙

请在 FIDDLE 点击这里举例

<script>
$(function() {
    var today = new Date();
    var tomorrow = new Date();
    tomorrow.setDate(today.getDate() + 1);

    $( "#from" ).datetimepicker({                   
      dateFormat: "dd-mm-yy",               
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 2,
      minDate: -0,
      maxDate: "+2w",
      onClose: function( selectedDate ) {
        $( "#to" ).datepicker( "option", "minDate", selectedDate );

      }
    });
    $( "#to" ).datetimepicker({
      dateFormat: "dd-mm-yy",
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 2,
      minDate: 0,
      maxDate: "+2w",
      onClose: function( selectedDate ) {
        $( "#from" ).datepicker( "option", "maxDate", selectedDate );
      }
    });
  });
</script>

下面的字段

<input style="text-transform:none;"  class="button_date"  type="text" value="<?php echo $_REQUEST['from']; ?>" size="15"  id="from" name="from" readonly />
 <input style="text-transform:none;"  class="button_date"  size="15" type="text" value="<?php echo $_REQUEST['to']; ?>" id="to" name="to" readonly />
4

1 回答 1

0

问题是当您在两个字段中玩耍并且 toDate 为空时,从日期最大默认值到要从中选择的最大日期。检查 toField 是否为空且有效。更新 JSFiddle 在这里 我添加了 toField 的检查 onClose 事件。

    $( "#to" ).datepicker({
          dateFormat: "dd-mm-yy",
          defaultDate: "+1w",
          changeMonth: true,
          numberOfMonths: 2,
          minDate: 0,
          maxDate: "+2w",
          onClose: function( selectedDate ) {
             if (selectedDate !== 'toField' && selectedDate.length > 0){
                $( "#from" ).datepicker( "option", "maxDate", selectedDate );
             }
          }
     });
于 2013-10-23T19:47:30.660 回答