1

Я использую DatetimepickerBundle в своем проекте Symfony. В одной форме у меня есть два поля даты, start и end. Я хочу, чтобы поле окончания автоматически обновлялось при изменении поля начала, поэтому пользователю не нужно выбирать дату еще раз, так как большинство событий будут иметь начало и конец в тот же день.Настройка обратного вызова для DatetimepickerBundle

Пучок основан на 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 повторно инициализирован и теряет все свои возможности.

Как добавить этот обратный вызов к уже инициализированному datetimepicker?

ответ

1

Я считаю, хотя я не уверен на 100%, что .on() действительно относится к стандарту jQuery. В принципе, вам не нужно снова звонить datepicker().

Таким образом, чтобы присоединить обратный вызов уже инициализирован Datepicker просто сделать:

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

Это то, что вы хотите достичь?

+0

Вы правы! так просто. – LorenzSchaef

+0

Прохладный, рад, что я мог бы помочь :) –

Смежные вопросы