Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两个日期选择器上的Jquery最小日期_Javascript_Jquery_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

Javascript 两个日期选择器上的Jquery最小日期

Javascript 两个日期选择器上的Jquery最小日期,javascript,jquery,jquery-ui,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Jquery Ui Datepicker,我有两个约会选择者plecare和sosire。我已经成功地为两个日期选择器设置了最小日期,但我需要始终保持>plecare HTML表单的内容包括: <div class="datepicker-wrap"> <input id="plecare" type="text" name="plecare" class="input-text full-width" placeholder="aa/ll/zz" /> </div> 我如何才能完

我有两个约会选择者plecare和sosire。我已经成功地为两个日期选择器设置了最小日期,但我需要始终保持>plecare HTML表单的内容包括:

<div class="datepicker-wrap">     
    <input id="plecare" type="text" name="plecare" class="input-text full-width" placeholder="aa/ll/zz" />
</div>

我如何才能完成上述工作,使sosire的最小日期始终大于plecare

保存上一个日期的备份,将侦听器连接到两个输入的更改事件,其中一个触发检查另一个,如果日期无效,则恢复到上一个日期并显示某种错误

var startDateBkup, endDateBkup;
$('#startDate').change(function(){ 

    var $this = $(this);
    var currdate = $this.datepicker('getDate'); 

    if(currdate > $('#endDate').datepicker('getDate')){

        $this.datepicker('setDate',startDateBkup);
        //put some notification

    } else {
        startDateBkup = currdate;
    }

}) 
并对结束日期执行相同的操作,但相反,不确定该窗口小部件的所有细微差别,因此可能需要重置一些ui元素,但逻辑上会处理您正在查找的内容

您可以使用稍后日期选择器的选择事件来操作值

onSelect : function () {
      var newDate = $(this).datepicker('getDate');
      if($(this).prop("id")=="plecare"){
          //If plecare select event , set minDate for sosire
          $("#sosire").datepicker( "option", "minDate", newDate);       
          }
    }
这里有一个 注:

如果你想在minDate中增加+1天,那么你应该使用

var newDate = $(this).datepicker('getDate');
newDate = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate()+1); 

我希望这就是你想要的。

据我所知,你需要这样的东西

jQuery

HTML


您可以将开始日期绑定为不超过结束日期。结束日期也一样,不超过开始日期

你的意思是当plecare更改值时,sosire的minDate应该更改为plecare的日期?sosire to always>plecare。那么,你想要什么?如果在plecare中选择了日期,您想要新的mindate吗?如果是,那么当plecare发生变化时,MinDate的值必须大于plecare@Runcorn确切地说。minDate的值为+1可能会对你有所帮助。
onSelect : function () {
      var newDate = $(this).datepicker('getDate');
      if($(this).prop("id")=="plecare"){
          //If plecare select event , set minDate for sosire
          $("#sosire").datepicker( "option", "minDate", newDate);       
          }
    }
var newDate = $(this).datepicker('getDate');
newDate = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate()+1); 
    $("#from").datepicker({onClose:function( selectedDate ) {
        $( "#to" ).datepicker( "option", "minDate", selectedDate );
    }});
    $("#to").datepicker({onClose:function( selectedDate ) {
        $( "#from" ).datepicker( "option", "maxDate", selectedDate );
    }});
<label>Start Date:</label>
<input id=”from”> </input>
<label>End Date:</label>
<input id=”to”> </input>