Плагин Yii2 Krajee Datepicker - обновить startDate - PullRequest
0 голосов
/ 27 мая 2020

Я использую Krajee Datepicker , и у меня есть два поля ввода даты (от и до). Я хочу установить startDate поля ввода «to» на выбранное значение из поля ввода «from». Итак, я сделал что-то вроде этого:

<?= $form->field($model, 'from')->widget(DatePicker::class, [
        'type'          => DatePicker::TYPE_COMPONENT_APPEND,
        'pluginOptions' => [
            'autoclose'      => TRUE,
            'format'         => 'dd.mm.yyyy',
            'startDate'      => new \yii\web\JsExpression('new Date()'),
            'todayHighlight' => TRUE,
        ],
        'pluginEvents' => [
            'changeDate' => 'function(e){
                 $( "#model-to" ).kvDatepicker("option", "startDate", e.date);
            }'
        ]
    ]) ?>

    <?= $form->field($model, 'to')->widget(DatePicker::class, [
        'type'          => DatePicker::TYPE_COMPONENT_APPEND,
        'pluginOptions' => [
            'autoclose'      => TRUE,
            'format'         => 'dd.mm.yyyy',
            'startDate'      => new \yii\web\JsExpression('new Date()'),
            'todayHighlight' => TRUE,
        ],
    ]) ?>

Значение по умолчанию, которое я установил в pluginOptions, работает нормально. Но как только я изменяю дату «from», Datepicker «to» полностью игнорирует startDate (даже старый startDate). Даже языковые настройки пропали ...

Я тоже пробовал использовать datepicker вместо kvDatepicker. Но это вызывает ошибку

Uncaught TypeError: $ (...). Datepicker не является функцией

1 Ответ

0 голосов
/ 27 мая 2020

хорошо, наконец, у меня есть решение. Виджет создает новый элемент и добавляет -kvdate к идентификатору.

Итак, если я использую этот элемент, я могу начать такой вызов, и он отлично работает:

$ ("# model-to-kvdate"). Data ("datepicker"). SetStartDate (e.date);

...