我一直在使用Kartik的日期选择器时遇到麻烦。听完这样的事件后:
$('#participationtype-dates').kvDatepicker()
.on('show', function (e) {
console.log('e');
});
或使用如下方法更改日期:
'pluginOptions' => [
'format' => 'yyyy-mm-dd',
'autoclose' => true,
'todayHighlight' => true,
'toggleActive' => true,
],
'pluginEvents' => [
'changeDate' => "function(e) {
var startDate = $('#input-start-date').val();
if (startDate) {
s = startDate.replace(/(d{4})-(d{1,2})-(d{1,2})/, function(match,y,m,d) {
return m + '/' + d + '/' + y;
});
}
$('#input-end-date').kvDatepicker('setStartDate', s);
$('#input-end-date').kvDatepicker('setDate', s);
$('#input-end-date').val(s.replace(/(dd)/(dd)/(d{4})/, '$3-$1-$2'));
}",
],
整个日期选择器重置为默认值,在这里似乎是一个相同的问题:https://github.com/kartik-v/yii2-widget-datepicker/issues/53(线程关闭,不知道为什么)。
有没有人让 Kartik 的日期选择器来处理事件和方法?
使用后缀选择器,例如 "#[your-selector]-kvdate"
或"#[your-selector]-disp-kvdate"
.
尝试这样的事情:
'pluginEvents' =>[
"changeDate" => "function(e) {
$('#input-end-date').val('');
$('#input-end-date-disp-kvdate').kvDatepicker('update', '');
$('#input-end-date-disp-kvdate').kvDatepicker('setStartDate', new Date(e.date));
}",
]
我有同样的问题。我最终覆盖了我在 JS 中想要的默认值。
// ¯_(ツ)_/¯
$.fn.kvDatepicker.defaults.todayHighlight = true;
$.fn.kvDatepicker.defaults.format = 'yyyy-mm-dd';