【问题标题】:Bootstrap datetimepicker without default initial value没有默认初始值的引导日期时间选择器
【发布时间】:2017-03-29 16:15:55
【问题描述】:

我正在使用引导程序 datetimepicker 我想删除默认选择的日期。

$("#datetimepicker1").datetimepicker({ format: 'MM/DD/YYYY', minDate:new Date() });

【问题讨论】:

    标签: jquery css bootstrap-datepicker


    【解决方案1】:

    您可以为您的 datetimepicer 设置useCurrent:false,例如

      $(document).ready(function () {
         var date = new Date();
    
         // subtract a day
         date.setDate(date.getDate() - 1);
         $('#datetimepicker1').datetimepicker({
              useCurrent: false, format: 'MM/DD/YYYY', minDate:date
         });
      });
    

    JSFIDDLE

    【讨论】:

    • @DalinHuang 从当前日期减去一天为最小日期
    • 那么你可以选择昨天或明天,但今天不能选择 cus useCurrent 设置为 false
    • 我也可以从今天的日期中删除下面的图标吗?
    • 我知道了.bootstrap-datetimepicker-widget table td.today:before { content: ''; display: inline-block; border: solid transparent; border-width: 0 0 7px 7px; border-bottom-color: #337ab7; border-top-color: rgba(0, 0, 0, 0.2); position: absolute; bottom: 4px; right: 4px; }
    • 第一次只使用当前 false 不会每次都有效。
    【解决方案2】:

    通过查看他们的文档,您应该能够将 useCurrent 设置为 false,默认情况下为 true。 Source

    $("#datetimepicker1").datetimepicker({
        format: 'MM/DD/YYYY',
        minDate: new Date(),
        useCurrent: false
    });
    

    【讨论】:

    • 如果你想选择“今天”怎么办...使用 moment()
    • 我也可以从今天的日期中删除下面的图标吗?
    • 谢谢我明白了。需要更新这个类.bootstrap-datetimepicker-widget table td.today:before { content: ''; display: inline-block; border: solid transparent; border-width: 0 0 7px 7px; border-bottom-color: #337ab7; border-top-color: rgba(0, 0, 0, 0.2); position: absolute; bottom: 4px; right: 4px; }
    【解决方案3】:

    如果你打印出new Date()你会明白这是一个日期时间,你应该设置一个可以使用(new Date()).toDateString()的日期

    var datetimepicker1 = $('#datetimepicker1').datetimepicker({
      format: 'YYYY-MM-DD',
      minDate: (new Date()).toDateString()
    })
    

    https://jsfiddle.net/dalinhuang/0Ltv25o8/4795/

    或者你可以使用moment js来设置minDate... 如果您使用 useCurrent: false 将排除“今天”,因此请使用时刻或自己查找“日期”。

    var datetimepicker1 = $('#datetimepicker1').datetimepicker({
      format: 'YYYY-MM-DD',
      minDate: moment().startOf('day')
    })
    

    https://jsfiddle.net/dalinhuang/0Ltv25o8/4793/

    【讨论】:

      【解决方案4】:
      I used two dates between these dates validating using datetimepicker.
      
         if ($("#toDate").val() != "") {
            $("#toDate").datetimepicker("destroy");
        }
        var fromDateFilt = new Date();
        if ($("#frmDate").val().length != 0) {
            fromDateFilt = this.convertDate($("#frmDate").val())
        }
        $('#toDate').datetimepicker({
            widgetPositioning: {
                horizontal: 'left'
            },
            icons: {
                time: "fa fa-clock-o",
                date: "fa fa-calendar",
                up: "fa fa-arrow-up",
                down: "fa fa-arrow-down",
                previous: 'fa fa-arrow-left',
                next: 'fa fa-arrow-right'
            },
            format: 'DD-MM-YYYY',
            minDate: fromDateFilt,
            maxDate: new Date()
        });
        this.psaReportForm.controls['frmDate'].setValue($("#frmDate").val());
      
      public convertDate(date) {
        let dateArry = date.split("-");
        return new Date(dateArry[2], dateArry[1] - 1, dateArry[0]);
      }
      

      【讨论】:

      • 如果您使用 minDate 或 maxDate 选项,它将采用自动今天的值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      相关资源
      最近更新 更多