设置日期范围选择器变量OnClose

时间:2011-09-28 14:36:39

标签: jquery daterangepicker

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

我替换了

onClose: function(){},

onClose: alertdata,

然而,这已经打破了日期范围选择器,我不能再选择日期了。 根据{{​​3}},已经有变量设置 dateStart dateEnd ,所以我要做的是:

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

然后在POST方法中使用这些变量将所有这些变量发送到PHP文件。 documentation,如果有人让我知道我在获取数据方面犯了错误,我将不胜感激,谢谢!

1 个答案:

答案 0 :(得分: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);
    }
});

希望这有帮助。