为 DatetimepickerBundle 设置回调

Setting up a callback for the DatetimepickerBundle

我在我的 Symfony 项目中使用 DatetimepickerBundle。在一种形式中,我有两个日期字段,startend。我希望结束字段在开始字段更改时自动更新,这样用户就不必 select 再次输入日期,因为大多数事件的开始和结束都在同一天。

Bundle 基于 bootstrap-datetimepicker by smalot 并为每个字段生成以下 javascript:

jQuery(document).ready(function($) {
    $field = $('#app_bundle_event_start');

    $field.datetimepicker({"formatter":"js","format":"dd.mm.yyyy hh:ii","autoclose":true,"language":"de"});  
});

我在模板中添加了以下代码,但它没有执行任何操作。

jQuery(document).ready(function($) {
    $('#app_bundle_event_start').datetimepicker().on('changeDate', function(ev){
        $('#app_bundle_event_end').datetimepicker('update', ev.date);
    });
}

如果我不将其包装在文档就绪回调中,结束日期会更新,但在开始日期字段上,datetimepicker 会重新初始化并丢失所有选项。

如何将此事件回调添加到已初始化的日期时间选择器?

我相信,尽管我不是 100% 确定 .on() 实际上属于标准 jQuery 事件。基本上,你不需要再次调用datepicker()

因此,要将回调附加到已初始化的 Datepicker,只需执行以下操作:

$('#app_bundle_event_start').on('changeDate', function(ev){
    $('#app_bundle_event_end').datetimepicker('update', ev.date);
});

这是你想要达到的目标吗?