我正在制作财务报告,其中用户选择2个日期search_date1search_date2,然后生成每月报告。

我首先创建了一个仅包含一个日历的每日报告,当它更改时,我对其应用了一些AJAX脚本,它可以正常工作:

var myApp = {};
myApp.search_date = "";
 document.getElementById('search_date').onchange = function (e) {
    if (this.value != myApp.search_date) {
        var d = $("#search_date").val();
    $.ajax({
        ...
    });
  }
}


现在,我不知道如何检测两个日历是否已更改为根据其值应用AJAX脚本。

编辑

执行以下操作是否正确:

var myApp = {};
myApp.search_date1 = "";
myApp.search_date2 = "";
 document.getElementById('search_date1').onchange = function (e) {
    if (this.value != myApp.search_date1) {
        var d1 = $("#search_date1").val();
        document.getElementById('search_date2').onchange = function (e) {
             if (this.value != myApp.search_date2) {
                     var d2 = $("#search_date2").val();
                     $.ajax({
                        ...
                     })
             }
         });
     }
});

最佳答案

尝试这个:



var temp = {
  from: null,
  to: null
}

document.getElementById('from').onchange = function(e){

 temp.from = e.target.value;
  goAjax();
}
document.getElementById('to').onchange = function(e){
 temp.to = e.target.value;
  goAjax();
}

function goAjax(){
  if(temp.from && temp.to && new Date(temp.from) < new Date(temp.to)){
    //do ajax call
    console.log('valid')
  }
}

<input type="date" id='from'/>
<br>
<input type="date" id='to'/>

关于javascript - 检测2个日历值何时更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35991124/

10-09 02:14