检查 2 jquery ui 日期选择器是否具有执行功能的价值

Checking to see if 2 jquery ui datepickers have value to perform function

我正在尝试检查并查看 2 jquery ui 日期选择器是否有值,如果有,则执行一个功能,如果没有,则什么也不做。

$("#datepicker").datepicker({
        onSelect: function () {

        }
    });
    $("#datepicker2").datepicker({
        onSelect: function () {

        }
    });

我想我需要使用回调来查看是否已选择日期,但我仍然不知道如何检查这些回调以查看它们是否已经发生。

这是使用jquery ui 日期选择器的getDate 方法的方法。如果没有选择日期,它 returns null

$("#datepicker,#datepicker2").datepicker({
   onSelect: checkDates
});

function checkDates () {
    var ok = $('.hasDatepicker')
                       .filter( function() { 
                                   return $(this).datepicker('getDate') !== null
                              })
                       .length == 2;
      if (ok === true) {
        // doSomething 
      }     
}

datepicker 在构造上添加了“hasdatepicker”cssclass 所以 $('.hasDatepicker')return 所有 datepickers,然后过滤结果得到一个数组date !== null 的项目,然后比较长度以了解它们是否都已填充。

如果您想检查是否所有日期选择器都选择了日期,您可以将 2 替换为 $('.hasDatepicker').length

Fiddle