Javascript 结束时间应大于开始时间

Javascript 结束时间应大于开始时间,javascript,jquery,Javascript,Jquery,我有两个时间选择器,一个用于开始时间,另一个用于结束时间,结束时间必须始终大于开始时间。我正在使用eonasdan datetimepicker。如果开始日期大于结束日期,则不允许,或者我们需要获取pop。请帮我解决这个问题 以下是我到目前为止所做的 $'starttime,endtime'。日期时间选择器{ 格式:“HH:mm” }; var start_time=$'start_time'.val; var end_time=$'end_time'.val; 如果Date.parsesta

我有两个时间选择器,一个用于开始时间,另一个用于结束时间,结束时间必须始终大于开始时间。我正在使用eonasdan datetimepicker。如果开始日期大于结束日期,则不允许,或者我们需要获取pop。请帮我解决这个问题

以下是我到目前为止所做的

$'starttime,endtime'。日期时间选择器{ 格式:“HH:mm” }; var start_time=$'start_time'.val; var end_time=$'end_time'.val; 如果Date.parsestart_time>Date.parseend_time{ 警报“开始时间应更小”; } 开始时间 结束时间
在“结束时间”文本框中禁用过去日期而不是开始日期。类似这样的内容,请替换html代码中的文本框id

$( "#startDate" ).datepicker({
  onSelect: function(dateText, inst) {
    $('#endDate').datepicker('option', 'minDate', $(this).val());
  },
  minDate: 0
});
$( "#endDate" ).datepicker({
  onSelect: function(dateText, inst) {
    if($( "#startDate" ).val() == ''){
      $( "#endDate" ).val('');
    }
  },
})

您可能需要在每个startTime.change事件上更新endTime.minDate。 试着以我为例:

函数timepickertrl${ var startTime=$'startTime'.datetimepicker{ 格式:“HH:mm” }; var endTime=$'endTime'.datetimepicker{ 格式:“HH:mm”, minDate:startTime.dataDateTimePicker.date }; 功能设定值{ 返回结束时间 .dataDateTimePicker.minDate startTime.dataDateTimePicker.date ; } var-bound=false; 函数bindMinEndTimeToStartTime{ 返回边界| |开始时间在'dp.change',setMinDate; } endTime.on'dp.change',=>{ bindMinEndTimeToStartTime; 绑定=真; 刚毛; }; } $document.readyTimePickerCtrl; 开始时间 结束时间
我用计时器做了些事情

试试这个HTML代码

                   <div class="col-md-12">
                        <div class="row"> 
                          <div class="col-md-6">
                            <div class="form-group bootstrap-timepicker">
                                <label class="control-label">Start Time</label>
                                <input id="start" name="start" ng-model="start" type="text" required="required" class="form-control start" />
                            </div>
                          </div>
                          <div class="col-md-6">
                            <div class="form-group bootstrap-timepicker">
                                <label class="control-label">End Time</label>
                                <input id="end" name="end" ng-model="end" type="text" required="required" class="form-control end" />
                            </div>
                          </div>
                        </div>
                    </div>
$'.start、.end'.timepicker{ 输入:假, 会议记录:1, }; $end,start.changefunction{ 变量时间=$start.val; var hours=Numbertime.match/^\d+/[1]; var minutes=Numbertime.match/:\d+/[1]; var AMPM=time.match/\s.*$/[1];
ifAMPM==PM&&hours使用AM和PM设置时间验证

   var startTime = $('.StartTime').datetimepicker({ 
     "allowInputToggle": true,
     "showClose": true,
     "showClear": true,
     "showTodayButton": true,
     "format": ' hh:mm A',
     "useCurrent": false 
   })

   var endTime =  $('.EndTime').datetimepicker({ 
    "allowInputToggle": true,
    "showClose": true,
    "showClear": true,
    "showTodayButton": true,
    "format": ' hh:mm A',
    "useCurrent": false })
   .on("dp.change", function (e) {
        minDate: startTime.data("DateTimePicker").date()
        bindMinEndTimeToStartTime(startTime);
        bound = true;
        setMinDate(endTime,startTime);
    });


    function setMinDate(endTime,startTime) {
        return 
        endTime.data("DateTimePicker").minDate(startTime.data("DateTimePicker").date()
      );
   }

  function bindMinEndTimeToStartTime(startTime) {
      var bound = false;
      return bound || startTime.on('dp.change', setMinDate);
  }

你的问题是什么?看起来你有一些代码试图实现这一点。有什么问题吗?你忘了在你的应用程序中包含jQuery和你的datepicker插件。你给了开始日期和结束日期相同的id,所以你更改了结束日期idHi,谢谢你的回答!!!@Hitmands这很好,但我们不应该错过时间默认情况下,它应该通过单击加载项来显示时间,这是通过删除date属性来实现的,但是通过单击加载项,我得到的日期同时显示在开始时间和结束时间中,而应该显示在特定的输入字段中,即开始时间和结束时间。您能帮我解决这个问题吗?谢谢ted我的例子,如果足够的话,请接受我的回答。非常感谢你的帮助,但唯一的问题是当我更新开始时间时,结束时间也随之更新,而当我开始更新开始时间时,结束时间字段应该被清除,当我们点击它的插件时,更新的时间应该被输入,请帮我把这个拿出来谢谢
                   <div class="col-md-12">
                        <div class="row"> 
                          <div class="col-md-6">
                            <div class="form-group bootstrap-timepicker">
                                <label class="control-label">Start Time</label>
                                <input id="start" name="start" ng-model="start" type="text" required="required" class="form-control start" />
                            </div>
                          </div>
                          <div class="col-md-6">
                            <div class="form-group bootstrap-timepicker">
                                <label class="control-label">End Time</label>
                                <input id="end" name="end" ng-model="end" type="text" required="required" class="form-control end" />
                            </div>
                          </div>
                        </div>
                    </div>
   var startTime = $('.StartTime').datetimepicker({ 
     "allowInputToggle": true,
     "showClose": true,
     "showClear": true,
     "showTodayButton": true,
     "format": ' hh:mm A',
     "useCurrent": false 
   })

   var endTime =  $('.EndTime').datetimepicker({ 
    "allowInputToggle": true,
    "showClose": true,
    "showClear": true,
    "showTodayButton": true,
    "format": ' hh:mm A',
    "useCurrent": false })
   .on("dp.change", function (e) {
        minDate: startTime.data("DateTimePicker").date()
        bindMinEndTimeToStartTime(startTime);
        bound = true;
        setMinDate(endTime,startTime);
    });


    function setMinDate(endTime,startTime) {
        return 
        endTime.data("DateTimePicker").minDate(startTime.data("DateTimePicker").date()
      );
   }

  function bindMinEndTimeToStartTime(startTime) {
      var bound = false;
      return bound || startTime.on('dp.change', setMinDate);
  }