如果结束日期低于开始日期,则增加结束日期

时间:2014-07-29 21:13:03

标签: javascript jquery

我有两个输入字段来放置开始日期和结束日期。我想比较日期。如果结束日期低于开始日期,我希望将结束日期增加一个月。我试图这样做,但它不起作用。

使用calandar jquery ui检查日期

From: <input type="text" id="from" />
To: <input type="text" id="to" />



     if( ($("#from").val() >  $("#to").val()))
            {
                alert('end date should be upper the start date');
               $("#to").val()=incr_date($("#to"));


            }
function incr_date(date_str){
      var parts = date_str.split("-");
      var dt = new Date(
        parseInt(parts[0], 10),      // year
        parseInt(parts[1], 10) - 1,  // month (starts with 0)
        parseInt(parts[2], 10)       // date
      );
      dt.setDate(dt.getDate() + 1);
      parts[0] = "" + dt.getFullYear();
      parts[1] = "" + (dt.getMonth() + 1);
      if (parts[1].length < 2) {
        parts[1] = "0" + parts[1];
      }
      parts[2] = "" + dt.getDate();
      if (parts[2].length < 2) {
        parts[2] = "0" + parts[2];
      }
      return parts.join("-");
    }

2 个答案:

答案 0 :(得分:1)

在val()方法中分配值,如下所示:

$("#to").val(incr_date($("#to")));

你不应该有一个等号。

修改 有关正常工作的JSFiddle,请参阅here。我在txtToControl上使用了focusout事件。

答案 1 :(得分:0)

这是设置avalue的正确方法:

 $("#to").val(incr_date($("#to")));