0

我试图在调用 OnClose 函数时获取日期范围选择器的 StartDate 和 EndDate 变量,但是我遇到了困难。

我换了

onClose: function(){},

onClose: alertdata,

但是,这已经破坏了日期范围选择器,我不能再选择日期了。根据文档,已经有变量设置dateStartdateEnd,所以我要做的是:

  function alertData() {
      $("#DivDateStart").html(dateStart); //update div for debugging
      $("#DivDateEnd").html(dateEnd); //update div for debugging
  }    

然后只需在 POST 方法中使用这些变量即可将所有内容发送到 PHP 文件。这是我现在所拥有的,如果有人让我知道我在获取数据时出错的地方,我将不胜感激,谢谢!

4

1 回答 1

2

尝试单独访问每个日期选择器以获取选定的日期,如下所示:

onClose:function(){
    var startDate = $('#startDatePickerID').datepicker("getDate");
    var endDate = $('#endDatePickerID').datepicker("getDate");            
}

这是一个活生生的例子:http: //jsfiddle.net/Rex3q/1/

更新(基于评论)

您可以通过修改daterangepicker.jQuery.js文件的源来检索开始和结束日期。

hideRP函数替换为以下函数:

function hideRP() {
    if (rp.data('state') == 'open') {
        rp.data('state', 'closed');
        rp.fadeOut(300);

        var startDate = rp.find('.range-start').datepicker('getDate');
        var endDate = rp.find('.range-end').datepicker('getDate');

        options.onClose(startDate, endDate);
    }
}

这将从各个日期选择器中检索开始和结束日期并将它们传递给onClose函数。

然后在初始化时daterangepicker,指定如下onClose函数:

$('#rangePickerID').daterangepicker(
{
    arrows: true,
    onClose: function (startDate, endDate) {
        alert(startDate);
        alert(endDate);
    }
});

希望这可以帮助。

于 2011-09-28T15:02:46.987 回答