Kartik 的 Yii2 日期选择器在使用方法/事件后重置为默认值



我一直在使用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';

最新更新