0

我一直在使用 Kartik 的 Datepicker 时遇到问题。听完这样的事件后:

$('#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(/(\d\d)\/(\d\d)\/(\d{4})/, '$3-$1-$2'));            
        }",
],

整个日期选择器重置为默认值,在这里似乎是一个相同的问题: https ://github.com/kartik-v/yii2-widget-datepicker/issues/53 (线程关闭,不知道为什么)。

有没有人让 Kartik 的 Datepicker 处理事件和方法?

4

2 回答 2

0

我有同样的问题。我最终在 JS 中覆盖了我想要的默认值。

// ¯\_(ツ)_/¯
$.fn.kvDatepicker.defaults.todayHighlight = true;
$.fn.kvDatepicker.defaults.format = 'yyyy-mm-dd';
于 2017-11-30T22:31:27.770 回答
0

使用后缀选择器,例如"#[your-selector]-kvdate"or "#[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));
    }",
]
于 2021-11-26T05:15:20.773 回答