daterangepicker - 仅设置一个日期范围(从/到)

时间:2015-06-26 12:02:43

标签: twitter-bootstrap daterangepicker

使用daterangepicker我正在尝试找到解决方案:

  

00/00/0000 - 26/06/2014   或26/06/2014 - 00/00/0000

我无法添加零或一些复选框以从日期设置为“无限制”或日期结束。

如何仅在一个(从或到)设置日期?

1 个答案:

答案 0 :(得分:0)

由于缺乏功能而找到了一个懒惰的解决方案,我将提交给github为无限日期范围添加此功能:

   $('#dpdiv').daterangepicker({
                'applyClass' : 'btn-sm btn-success',
                'cancelClass' : 'btn-sm btn-default',
                format: 'L',
                showDropdowns: true,
                showWeekNumbers: true,
                singleDatePicker: false
        },
        function(start, end, label) {
                // not used
        })
        .prev().on(ace.click_event, function(){
                $(this).next().focus();
        });

        $("body .daterangepicker .ranges .range_inputs button").first().before('<div><a href="#" id="daterangepicker_clear_start_date"> From - &infin;</a><br />');
        $("body .daterangepicker .ranges .range_inputs button").first().before('<div><a href="#" id="daterangepicker_clear_end_date"> To - &infin;</a><br /><br />');

        $('#dpdiv').on('apply.daterangepicker', function(ev, picker) {


            var drp_from = $('body .daterangepicker .ranges .daterangepicker_start_input input').val();
            var drp_to = $('body .daterangepicker .ranges .daterangepicker_end_input input').val();

            if (drp_from.length == 0)
            {                    
                $(this).val("---- - " + picker.endDate.format('L'));

                $("#dpr_hidden_div_start").val("");
                $("#dpr_hidden_div_end").val(picker.endDate.format('L'));
            }

            if (drp_to.length == 0)
            {                    
                $(this).val(picker.endDate.format('L') + "- ----");

                $("#dpr_hidden_div_start").val(picker.startDate.format('L'));
                $("#dpr_hidden_div_end").val("");
            }

            if (drp_from.length == 0 && drp_to.length == 0)
            {
                $(this).val("");

                $("#dpr_hidden_div_start").val("");
                $("#dpr_hidden_div_end").val("");
            }

        });

        $('#dpdiv').on('cancel.daterangepicker', function(ev, picker) {
            $('#dpdiv').val(''); //clear
        });


    $("#dpr_hidden_div_start").on('click', function(){
            $('body .daterangepicker .ranges .daterangepicker_start_input input').val("");
        });

        $("#daterangepicker_clear_end_date").on('click', function(){
            $('body .daterangepicker .ranges .daterangepicker_end_input input').val("");
        });