javascript - Bootstrap DateTimePicker : Open one datetimepicker at a time

标签 javascript jquery twitter-bootstrap datetimepicker bootstrap-datetimepicker

我有一个包含多个日期时间选择器的 html 模板。如果我单击按钮打开一个日期时间选择器,然后单击另一个按钮打开新的日期时间选择器,则第一个保持不变(它不会关闭)。我希望一次只能打开一个日期时间选择器。

这是一个 JsFiddle Demo

$('#datetimepicker1, #datetimepicker2').datetimepicker();

这是 bootstrap datetimepicker 2.5 在使用 moment 2.5(moment-with-langs)时的标准行为,但现在它似乎不是这样工作的。

有没有人有解决此问题的想法?

注意:我使用的是 Eonasdan bootstrap-datetimepicker 版本 3.0.3 和 moment 2.8(moment-with-locales)、jQuery 1.9 和 Bootstrap 3

这里棘手的是 bootstrap-datetimepicker 附加到 <body>一个<div>对于每个初始化的与其触发按钮完全无关的日期时间选择器。

最佳答案

试试这个:

$('.date').datetimepicker();
$(document).ready(function() {
    // Select all elements with the 'date' class
    $('.date').on('dp.show', function() {
        $('.date').not($(this)).each(function() {
            $(this).data("DateTimePicker").hide();
            // $('.date').not($(this)) selects all the .date elements except
            // for the one being shown by the datetimepicker dp.show event.
            // The dp.show event is fired when a new datetimepicker is opened.
            // We use the .data("DateTimePicker") to access the datetimepicker object
            // (we have to use a jQuery each loop in order to access all the 
            // datetimepickers.
            // .hide() -- we hide it.
        });
    });
});

那应该一次只允许打开一个日期时间选择器。

关于javascript - Bootstrap DateTimePicker : Open one datetimepicker at a time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978820/

相关文章:

javascript - bootstrap 4 中的 popper.js 给出 SyntaxError Unexpected token export

html - Bootstrap 药丸中的药丸

javascript 变量未正确分配

javascript - 使用未定义的常量 jquery - 假定为 'jquery' - Wordpress

html - 响应式 Bootstrap 导航菜单

JavaScript 将 if/else 压缩成一行?

javascript - 在 JavaScript 的 li 中按时间顺序对 li 重新排序

javascript - 获取用 PHP 和 javascript 完成游戏的成本时间

javascript - Angular ui 路由器始终使用默认路由

javascript - ChartJs 无法使用此 JSON 对象