将jQuery datepicker的值设置为另一个datepicker的值

时间:2017-09-01 12:50:21

标签: jquery date datepicker

我在页面上有2 datepicker个。用户应该输入两个彼此有点接近的日期。但是,如果用户提前6个月跳过,他们的直觉告诉他们,当他们点击第二个datepicker时,已经在同一个月。

我需要将第二个datepicker的defaultDate设置为第一个datepicker中选择的日期。

$("#from").datepicker({
  defaultDate: new Date(),
  minDate: new Date(),
  onSelect: function(dateStr) 
  {         
      $("#to").val(dateStr);
      $("#to").datepicker("option",{ minDate: new Date(dateStr)})
  }
});

$('#to').datepicker({
  defaultDate: new Date(),
  onSelect: function(dateStr) {
    toDate = new Date(dateStr);
    fromDate = ConvertDateToShortDateString(fromDate);
    toDate = ConvertDateToShortDateString(toDate);
  }
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input id="from">
<input id="to">

但它无法运行。实际上它根本没有初始化datepicker ..而且我不确定为什么。只需将它们视为正常datepicker当然可以正常工作。

有没有其他方法可以实现我的目标?

1 个答案:

答案 0 :(得分:0)

使用jquery ui的方法“show”

    $('#to').datepicker({

        });

$("#from").datepicker({
            defaultDate: new Date(),
            minDate: new Date(),
            onSelect: function(dateStr) 
            {   
                    $("#from").datepicker( "hide" );
                $('#to').val(dateStr);
                $('#to').focus();
                $('#to').datepicker( "show" );
                $("#to").datepicker( "option", "minDate", endDate );
                        //$("#to").datepicker( "option", "maxDate", '+2y' );
            }
        });

要求它展示工作的想法

我留下一个jsfiddle:https://jsfiddle.net/roberburnday/btn7bp2v/