验证 - 1个字段不大于另一个字段

时间:2016-07-20 14:04:45

标签: javascript jquery validation datepicker

我正在使用2个jquery日期选择器。当datepickers的值相等时 - 我想防止时间2大于时间1.时间是24小时HHMM(4个字符)文本框。

当日期选择器不相等时,任何东西都适合时代......

我有点工作,但不完全......我可以改变字段并绕过我不想要的验证....

也不知道“焦点”是否可行......

http://jsfiddle.net/rbla/90ps4h9n/5/

... HTML           

  Start Date: <input type="text" id="StartDate" name="datepicker1" value="" />
  End Date: <input type="text" id="EndDate" name="datepicker2" value="" />

  <br/><br/>

  Time 1: <input type="text" id="StartTime" maxlength="4">
  Time 2: <input type="text" id="EndTime" maxlength="4">

  <div class="error" style="display:none">Time 1 needs to be less than Time 2<div>

...的JavaScript

  $(function() {
      $("#StartDate").datepicker({
      dateFormat: "dd-M-yy"
      });
      $("#EndDate").datepicker({
      dateFormat: "dd-M-yy"
     });
  });

  $("#EndDate").change(function () {
      var sDate = document.getElementById("StartDate").value;
      var eDate = document.getElementById("EndDate").value;

      if ((Date.parse(eDate) === Date.parse(sDate))) {

          $("#EndTime").focusout(function(){

          if(parseFloat($("#StartTime").val()) > parseFloat($("#EndTime").val()))
              {
              $(".error").css("display","block").css("color","red");
              $("#submit").prop('disabled',true);
              document.getElementById("EndTime").value = "";
              }
              else 
              {
              $(".error").css("display","none");
              $("#submit").prop('disabled',false);        
              }
         });
     }
 });

1 个答案:

答案 0 :(得分:0)

我认为您可以通过比较运算符

比较日期日期('日期')的两个对象
if(parseFloat($("#StartTime").val()) > parseFloat($("#EndTime").val()))

替换

if(new Date($("#StartTime").val()) > new Date($("#EndTime").val()))

我不确定我是否根据您的需要进行了精确的更改。但我已经给你关于日期对象比较的想法。