【问题标题】:Set start date on Bootstrap datepicker by Eternicode通过 Eternicode 在 Bootstrap datepicker 上设置开始日期
【发布时间】:2016-08-05 17:36:51
【问题描述】:

是否可以在初始化期间使用 Eternicode Bootstrap Datepicker 指定日期?默认情况下,初始化选择器时,将选择当前日期。我想选择一个不同的日期(将来)。这可能吗?怎么可能?

这是我的初始化代码:

datePicker = detePickerElem.datepicker({
    format: 'mm/dd/yyyy',
    maxViewMode: 'months',
    startDate: new Date(),
    todayBtn: true,
    todayHighlight: true,
    weekStart: 1
});

datePicker.datepicker('setDate', new Date(futureDateObject));

我尝试使用setDate 方法在初始化后设置日期,但这并没有做任何事情。请注意,由于各种原因,我正在使用该项目的旧版本 (v1.3) 并且无法迁移到新版本,但是我可以分叉存储库并在需要时修改源代码。

【问题讨论】:

  • 您是否尝试过为startDate 分配当前日期以外的其他内容?
  • startDate 可以;但也禁用选择该日期之前的任何日期的能力...
  • 你给输入元素默认值datePickerElem.value = theDate
  • 您的setDate 方法应该可以工作。调试控制台有什么错误吗?
  • 我试过$('.datepicker').siblings('input').val(new Date(futureDateObject));。那设置了输入值,但没有解决我的问题。日期选择器仍然显示今天选中。

标签: jquery twitter-bootstrap datepicker bootstrap-datepicker


【解决方案1】:

由于您提到您使用的是 eternicode Bootstrap 日期选择器,如果您查看 https://github.com/eternicode/bootstrap-datepicker/blob/ca11c450/README.md#options 上的选项,则可以设置自定义开始日期,如下所示:

$('#datepicker').datepicker('setStartDate', '2015-01-01');

此处可能有帮助的另一个线程显示了如何增加 1 天:Bootstrap DatePicker, how to set the start date for tomorrow?

【讨论】:

  • 这设置了最小可选择的开始日期,这不是我想要的。我想更改当前选择的日期
  • 我在 jQuery datepicker 中使用它来设置更改选定的日期:$('#dateselector').datepicker("setDate", new Date(2016,8,21) ) 让我知道这是否有帮助
  • 这只会更改日期,但不会更新日历 UI。不幸的是,因为这是一个工作项目,我不得不使用不同的日期选择器。
【解决方案2】:

如果您希望选择的日期大于今天,则应设置明天的开始日期。当它不可选时,也不需要 todayBtn。

var tomorrow = new Date();
tomorrow.setDate(new Date().getDate()+1);

datePicker = detePickerElem.datepicker({
    format: 'mm/dd/yyyy',
    maxViewMode: 'months',
    startDate: tomorrow,
    todayBtn: false,
    todayHighlight: true,
    weekStart: 1
});

datePicker.datepicker('setDate', tomorrow);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多