【问题标题】:How to autoclose datetimepicker of Bootstrap using dp.change event?如何使用 dp.change 事件自动关闭 Bootstrap 的 datetimepicker?
【发布时间】:2016-10-28 07:44:36
【问题描述】:

如何仅在日期选择时自动关闭日期时间选择器。我正在使用 dp.change 事件,但即使在更改时间时它也会关闭 datetimepicker。

$('.datetimepicker').each(function () {
    $(this).on('dp.change', function (ev) {

       $(this).data('DateTimePicker').hide();

    });
});

timePicker 的类名是什么?如果我得到类并告诉 datetimepicker 在 className 等于 timepicker 的 className 时不要关闭怎么办?

datetimepicker 的最新版本是什么?

1 是这个: http://eonasdan.github.io/bootstrap-datetimepicker/

第二个是带有 autoClose 属性的。

http://www.malot.fr/bootstrap-datetimepicker/

谢谢。

【问题讨论】:

    标签: twitter-bootstrap bootstrap-datetimepicker eonasdan-datetimepicker


    【解决方案1】:

    使用eonasdan datetimepicker,您可以检查新选择的日期是否与之前选择的日期相同(使用时刻isSame)。

    注意dp.change 接收oldDatedate 作为参数。

    这是一个工作示例:

    $('.datetimepicker').datetimepicker().on('dp.change', function(e){
      if( !e.oldDate || !e.date.isSame(e.oldDate, 'day')){
        $(this).data('DateTimePicker').hide();
      }
    });
    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/>
    <link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.42/css/bootstrap-datetimepicker.css" rel="stylesheet"/>
    
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/locale/en-gb.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.42/js/bootstrap-datetimepicker.min.js"></script>
    
    <div class="input-group date datetimepicker">
      <input type="text" class="form-control" />
      <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
      </span>
    </div>

    【讨论】:

    • 当我先更改时间然后更改日期时,它工作正常。但是当我先更改日期然后更改时间时,返回日历并不会自动关闭。
    • @Nosheen 我不完全了解给您带来麻烦的工作流程是什么。在我的 sn-p 日期选择器中,当您选择日期而不是选择时间时关闭(这是我从您的原始问题中理解的)
    • 是的,我非常感谢您的努力,并且工作正常。在一种情况下它不起作用,例如在更改日期后选择时间。选择时间后是否可以检测是否点击了日历图标?
    • 这对我不起作用,但稍作修改它就可以完美运行。添加 if 语句: if( $(this).data('DateTimePicker') ){ $(this).data('DateTimePicker').hide(); }
    猜你喜欢
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2015-10-29
    相关资源
    最近更新 更多