jquery - Bootstrap 日期选择器隐藏选择日期范围

标签 jquery twitter-bootstrap jquery-ui-datepicker

我使用了 Bootstrap 日期选择器。现在,当我选择“自定义”以外的日期范围时,日期选择器会隐藏。当我选择“自定义”以外的选项并且单击“应用”时关闭时,我希望使其保持可见

$('#demo').daterangepicker({
    ranges: {
        "autoApply": true,
        "setDate": new Date(),
        "dateFormat": 'yy-mm-dd',
        'Today': [moment(), moment()],
        'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
        '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')]
    },
    applyOnMenuSelect: false,
    "alwaysShowCalendars": true,
    "opens": "left",
    "applyClass": "btn-primary",
    "cancelClass": "hide-btn",
    "startDate": "04/14/2016",
    "endDate": "04/14/2016",
    "maxDate": "04/14/2016",
}, function(start, end, label) {
    console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' +
        end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')");
});

最佳答案

所以,您的问题是预定义范围被视为提交按钮,就像应用按钮一样!这就是为什么在您单击任何范围后日历将会隐藏。

要实现您想要的效果,首先您必须添加 display: block!important 当使用库中的 show.daterangepicker 事件显示日历时,您的代码将看起来像这样

$('#demo').on('show.daterangepicker',function(){
    // here we will add a class with display!important in it
    $('.daterangepicker').addClass('ishow');
});

不幸的是,您无法直接向按钮添加单击事件,因此我们将使用一些委托(delegate),幸运的是 jQuery 为其提供了一个很好的简单实现。

$('body').delegate(".applyBtn", "click",function(){
    // this will be called when the apply button is clicked
    // we will remove the ishow class to hide the menu!
    $('.daterangepicker').removeClass('ishow');
});

就是这样!希望它对您的项目有所帮助,这里有一个 working fiddle查看正在运行的解决方案。

P.S.:不要像以前那样使用autoApply选项!

关于jquery - Bootstrap 日期选择器隐藏选择日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36688398/

相关文章:

html - Bootstrap 下拉列表在页面内容后面部分被阻止

jquery - 在asp.net mvc中使用jQuery datepicker的问题

jquery - 克隆 div jQuery UI Datepicker 问题

javascript - 我的按钮不起作用

javascript - Jquery 可使用自己的元素进行排序和删除

html - 使用 Bootstrap 在页面上居中动态容器

jquery - 如何在较小的屏幕上禁用 Bootstrap 的 "affix"?

jQuery UI Datepicker Inline - 单击提交表单

javascript - 搜索词条,将其包装到 <span> 标签中

jquery - 从 Jquery/CSS 中的动画中排除子类