繁体   English   中英

daterangepicker设置没有日期

[英]daterangepicker set no dates

我在我的网站上设置了daterangepicker( http://www.daterangepicker.com/ ):

在此处输入图片说明

使用此代码:

$(function() {
    $('input[id="searchDateRange"]').daterangepicker({
        timePickerSeconds: true,
        autoApply: true,
        startDate: "${defaultStart}",
        endDate: "${defaultEnd}",
        timePicker: true,
        locale: {
            format: 'MM/DD/YYYY HH:mm:ss:SSS'
        },
        ranges: {
           'Past 24 Hours': [moment().subtract(1, 'days'), moment()],
           'Today': [moment().startOf('day'), moment().endOf('day')],
           'Yesterday': [moment().subtract(1, 'days').startOf('day'), moment().subtract(1, 'days').endOf('day')],
           'Last 7 Days': [moment().subtract(6, 'days'), moment()],
           'Last 30 Days': [moment().subtract(29, 'days'), moment()],
           'This Month': [moment().startOf('month'), moment().endOf('month')],
           'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
           'None': [null, null]
        }
    });


    var history = document.querySelector('.history');
    if (history) {
        new Tablesort(history);
    }
});

当我选择“无”时,我希望将字段设置为空白,而是将值设置为“无效日期-无效日期”:

在此处输入图片说明

有没有一种方法可以根据选择来消隐该字段?

使用apply.daterangepicker事件和当下的isValid()

 $('input[id="searchDateRange"]').daterangepicker({ timePickerSeconds: true, autoApply: true, //startDate: "${defaultStart}", //endDate: "${defaultEnd}", timePicker: true, locale: { format: 'MM/DD/YYYY HH:mm:ss:SSS' }, ranges: { 'Past 24 Hours': [moment().subtract(1, 'days'), moment()], 'Today': [moment().startOf('day'), moment().endOf('day')], 'Yesterday': [moment().subtract(1, 'days').startOf('day'), moment().subtract(1, 'days').endOf('day')], 'Last 7 Days': [moment().subtract(6, 'days'), moment()], 'Last 30 Days': [moment().subtract(29, 'days'), moment()], 'This Month': [moment().startOf('month'), moment().endOf('month')], 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')], 'None': [null, null] } }); $('input[id="searchDateRange"]').on('apply.daterangepicker', function(ev, picker) { if (!picker.startDate.isValid() || !picker.endDate.isValid()) { $(this).val('') } }); 
 <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" /> <input type="text" id="searchDateRange" /> 

尽管以上答案是一个很好的解决方案,但是比这个更好。 您也可以尝试以下代码:-

$('input[id="searchDateRange"]').on('change', function(){
    if($(this).val() == 'Invalid date - Invalid date')
    {
        $(this).val(" ");
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM