daterangepicker回调根本不起作用

时间:2015-02-25 13:07:53

标签: javascript jquery callback jquery-callback daterangepicker

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

我遇到了大麻烦

我没有看到任何警报。

我在daterangepicker UI的底部有一个'apply'按钮。我按下申请,然后按我所选择的fisld主持人日期,但没有应该显示的警告。

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

// 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);

2 个答案:

答案 0 :(得分:0)

如果您使用onChange回调,则必须阅读存储在#daterangepickerstartend变量中的值。 t自动填充。

获取开始/结束值的简单方法是在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'
     }
);

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