javascript - Eonasdan/bootstrap-datetimepicker 日期时间选择器通过外部 javascript 调用重置

标签 javascript jquery twitter-bootstrap eonasdan-datetimepicker

我使用了Eonasdan/bootstrap-datetimepicker版本:4.17.47,现在解释一下当我从文本框打开bootstrap-datetimepicker时的场景并选择日期,之后我有一个清除按钮单击我已经清除该值,但是当我返回打开 datetimepicker 时,它会将之前选择的日期显示为突出显示。所以问题是日期时间选择器未重置,我想在取消点击外部 JavaScript 调用时重置该日期时间选择器。

我在下面使用过,但它们都不起作用

$('#myDatepicker').data('datepicker').setDate(null);

$('#myDatepicker').data().DateTimePicker.date(null);

而且,如果我有两个像 fromdate 到 todate 这样的日期时间选择器,它就不起作用。

最佳答案

您可以使用:

clear(): Clears the datepicker by setting the value to null

相反,如果您只需要重置所选日期,您可以:

  • 保存属性:如果为 true,则已单击重置按钮,如果不是,则不重置
  • 在日期选择器的显示和更新事件中,您可以测试是否单击了重置按钮。如果是,则删除所选日期的事件类
  • 在日期选择器发生更改事件时,可以重置之前设置的属性。

$('#myDatepicker').datetimepicker().prop("resetDatePicker", false).on('dp.update dp.show', function(e) {
    if ($('#myDatepicker').prop("resetDatePicker")) {
        $(this).find('td.day.active').removeClass('active today');
    }
}).on('dp.change', function(e) {
    $('#myDatepicker').prop("resetDatePicker", false);
});


$('#resetDatePicker').on('click', function(e) {
    $('#myDatepicker').data("DateTimePicker").date(moment());
    $('#myDatepicker').prop("resetDatePicker", true).find(':input').val('');
});
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css"/>




<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                <div class='input-group date' id='myDatepicker'>
                    <input type='text' class="form-control"/>
                    <span class="input-group-addon">
                        <span class="glyphicon glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
        <div class='col-sm-6'>
            <button id="resetDatePicker" class="btn btn-default" type="button">Clear</button>
        </div>
    </div>
</div>

关于javascript - Eonasdan/bootstrap-datetimepicker 日期时间选择器通过外部 javascript 调用重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43780734/

相关文章:

JavaScript - 遍历元素并检查长度

javascript - 通过按钮发送 div id 单击 java-script 方法参数

twitter-bootstrap - 背景透明不起作用

javascript - Backbone 获取请求是 OPTIONS 方法

html - 使用 Bootstrap 和 Rails 让 HTML <body> 填充整个垂直空间?

html - 是否可以在自己的类中定义自己的 Bootstrap 类

javascript - 如何打破实习生中的元素循环

javascript - 如何通过可视化操作图表来更新数据

javascript - 创建用于显示视频的模态窗口

javascript - 初始化在 javascript 中具有标记的数据表