如何在 JQuery 中设置 Yii2/Kartik/Bootstrap DatePicker

How to set Yii2/Kartik/Bootstrap DatePicker in JQuery

我有以下 Yii2 代码来输出 Kartik DateTime 小部件:

<?php echo $form->field($model, 'expiry_date')->widget(
    DatePicker::className(), [
    'type' => DatePicker::TYPE_COMPONENT_APPEND,
    'pluginOptions' => [
        'autoclose'=>true,
        'format' => 'dd-M-yyyy'
    ]
]); ?>

我正在尝试使用以下 JQuery 代码进行设置:

$( "#record-expiry_date").datepicker("setStartDate", new Date());

但不幸的是我无法让它工作 - 从未设置该值。我已经根据在线找到的解决方案(例如 setDate、使用 .change() 方法等)尝试了多种排列,但 none 对我有用。

我可以像这样使用 .val 方法:

$( "#record-expiry_date").val("01 Dec 2010");

虽然这正确设置了日期文本框,但日历小部件似乎没有正确 "registered" 它(即打开时它仍然显示今年的日期)。

有人可以告诉我我做错了什么吗?

我这样做的方式基本上是使用 bootstrap Datepicker 文档中记录的方法,此处:http://bootstrap-datepicker.readthedocs.io/en/latest/methods.html#update

所以在你的情况下,JS 调用看起来像这样,将原来的 datepicker() 替换为 kvDatepicker():

$("#record-expiry_date").kvDatepicker("update", new Date(2010, 12, 01));

希望对您有所帮助!