单击第二个日期选择器时如何获取两个日期选择器之间的日期差?

时间:2019-12-15 10:27:35

标签: javascript jquery datepicker

我只想显示两个jquery日期选择器之间的日期差。单击第二个日期选择器时应显示差异。以下是我的代码。

<input type ="text" id="Date">
<input type ="text" id="Date2">

$(function () {

        var select=function(dateStr) {
              var d1 = $('#Date').datepicker('getDate');
              var d2 = $('Date2').datepicker('getDate');
              var diff = 0;
              if (d1 && d2) {
                    diff = Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
              }
              alert(diff);
        }
        $("#Date").datepicker({
               autoclose: true,
               todayHighlight: true,
               onSelect: select
        }).datepicker('update', new Date());
        $("#Date2").datepicker({
               autoclose: true,
               todayHighlight: true,
               onSelect: select
        }).datepicker('update', new Date());
    });

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用datepicker的onSelect event,当在datapicker上更改日期时触发。

我还看到您输入错字,请替换var d2 = $('Date2').datepicker('getDate');

var d2 = $('#Date2').datepicker('getDate');

类似这样的东西:

$("#Date2").datepicker({ 
      onSelect: function(value, date) { 
          var d1 = $('#Date').datepicker('getDate');
          var d2 = $('#Date2').datepicker('getDate');
          var diff = 0;
          if (d1 && d2) {
                diff = Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
          }
          alert(diff);
      } 
});

答案 1 :(得分:0)

我认为以下代码会起作用

$("#Date2").bind('change keyup', function() {
            var date1 = $('#Date').datepicker('getDate');
            var date2 = $(this).datepicker('getDate');
            var dayDiff = Math.ceil((date2 - date1) / (1000 * 60 * 60 * 24));
            alert(dayDiff);
        });
相关问题