如何在默认情况下停止 datetimepicker 在文本框中设置今天的日期 onclick

Posted

技术标签:

【中文标题】如何在默认情况下停止 datetimepicker 在文本框中设置今天的日期 onclick【英文标题】:How to stop datetimepicker setting todays date in textbox by default onclick 【发布时间】:2015-10-18 23:50:07 【问题描述】:

当我们选择日历图标时,它会自动将今天的日期设置为文本框。 datetimepicker() 函数中是否有任何参数/选项可以设置为 false 或 null 以防止 datetimepicker() 默认将今天的日期设置为文本框。 如果有人没有从日历中选择任何日期,则文本框应该为空,而不是由 datetimepicker() 设置今天的日期。

【问题讨论】:

【参考方案1】:

值得阅读文档。在初始化日期时间选择器时更改useCurrent 属性。

https://eonasdan.github.io/bootstrap-datetimepicker/Options/#usecurrent

【讨论】:

谢谢,它工作正常,我们只需在 datetimepicker 方法中设置 useCurrent: false。【参考方案2】:

如果您在 Bootstrap 4 + jQuery 中使用 .datetimepicker()

当您单击元素时,可能会发生这种不希望的更新日期效果。

这是一种技巧,可避免在点击时用当前日期覆盖当前值,并允许正常选择选择器。

对于 Tempus Dominus 版本: https://tempusdominus.github.io/bootstrap-4/

JS

var dateNow = new Date();

$('.datetimepicker').each(function() 

    var _el = this;

    $(this).datetimepicker(
        autoclose: true,
        allowInputToogle: true,
        format: 'YYYY-MM-DD HH:mm',
        defaultDate: dateNow,
    );

    // 'this.parent()' is the container and data-target  |  '_el' is the input
    $(this).parent().on('change.datetimepicker', function(e) 

        // HACK
        if (!e.oldDate) return;

        $(_el).val(e.date.format('YYYY-MM-DD HH:mm'));
    );
);

HTML

<div class="form-group">
    <label class="control-label"><i class="icon-right-open-outline"></i> Date</label>
    <div class="input-group" id="form_datetimepicker_1">

        <input name="date_selected"
               id="date_selected"
               class="form-control datetimepicker"
               type="text"
               data-toggle="datetimepicker"
               value="2019-11-22 22:55:00"
               data-target="#form_datetimepicker_1">

        <div class="input-group-append" data-target="#form_datetimepicker_1" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-calendar"></i></div>
        </div>
    </div>
</div>

【讨论】:

以上是关于如何在默认情况下停止 datetimepicker 在文本框中设置今天的日期 onclick的主要内容,如果未能解决你的问题,请参考以下文章

C#中将dateTimePicker初始值设置为空

如何设置datetimepicker的值

VC中datetimepicker控件如何显示日期和时间,默认的只有日期。。

仅使用图标打开 datetimepicker

winform中的dateTimePicker控件怎么设置它的默认值为空?

如何使用引导模式更新引导日期时间选择器中的默认日期