0

我很难运行我的 daterangepicker 的回调函数(来自http://tamble.github.io/jquery-ui-daterangepicker/

我没有看到任何警报。

我在 daterangepicker UI 的底部有一个“应用”按钮。我按应用,然后选择我选择的主机日期,但没有应显示的警报。

这是我完成的代码(非常简单的代码):

// will host dates in callback
                var startDate;
                var endDate;
                $('#daterangepicker').daterangepicker(
                  {
                      format: 'YYYY-MM-DD',
                      startDate: '2013-01-01',
                      endDate: '2013-12-31'
                  },
                  function (start, end) {
                      alert("hey");
                  }
                );

提前感谢帮助我

编辑:

// will host dates
                var startDate;
                var endDate;
                // Show multidatetime picker
                // more infos here: http://tamble.github.io/jquery-ui-daterangepicker/
                $('#daterangepicker').daterangepicker(
                  {
                      onChange: function (start, end) { alert('change : ' + start + ' - ' + end) },
                      format: 'YYYY-MM-DD',
                      startDate: '2013-01-01',
                      endDate: '2013-12-31'
                  }
                );

这是我测试过的,但 startDate 和 endDate 是未定义的。

编辑 2: 这是我的最终代码 100% 在 EricMathieu 的帮助下工作

// Show multidatetime picker
                // more infos here: http://tamble.github.io/jquery-ui-daterangepicker/
                $('#daterangepicker').daterangepicker(
                  {
                      format: 'YYYY-MM-DD',
                      startDate: '2013-01-01',
                      endDate: '2013-12-31'
                  });
...
var tempValues = JSON.parse($('#daterangepicker').val());
alert(tempValues.start);
alert(tempValues.end);
4

2 回答 2

0

你必须这样称呼:

function(start, end, label) {

 console.log(start.toLocaleString() + end.toLocaleString() + label);
}

所以整个例子看起来像:

$('#date_range').daterangepicker({
        timePicker: false, timePickerIncrement: 30,
        //format: 'DD-MM-YYYY hh:mm:ss',
        format: 'DD-MM-YYYY',
        timePicker12Hour: false, 
        opens: 'left',
        locale: { cancelLabel: 'Clear' },
        separator: ' to '}, 
        function(start, end, label) {
console.log(start.toLocaleString() + end.toLocaleString() + label);
}
 });
于 2015-03-19T12:00:10.840 回答
-1

如果您使用onChange回调,则必须读取存储在 中的值#daterangepicker,您的startend变量不会自动填充。

获取开始/结束值的一种简单方法是在onChange函数中解析开始和结束值(来自 JSON):

var startDate;
var endDate;
// Show multidatetime picker
// more infos here: http://tamble.github.io/jquery-ui-daterangepicker/
$('#daterangepicker').daterangepicker(
    {
        onChange: function () {
            var tempValues = JSON.parse($('#daterangepicker').val());
            alert('change : ' + tempValues.start + ' - ' + tempValues.end)
        },
        format: 'YYYY-MM-DD',
        startDate: '2013-01-01',
        endDate: '2013-12-31'
     }
);
于 2015-02-25T13:48:43.177 回答