Повторно инициализировать или уничтожить Bootstrap datepicker динамически
есть ли способ уничтожить загрузочный datepicker, динамически обновляя его параметры, такие как формат, beforeShowDay и т. д.?
Я знаю, что jQuery UI datepicker имеет метод destroy, но Bootstrap не имеет. Это только .('remove')
метод, но он не работает.
моя цель-изменить параметры datepicker при изменении входного сигнала, например:
$('#employee').change( function() {
$('#date').datepicker('destroy'); //not working 'cause bootstrap hasnt a destroy method
$('#date').hide();
});
затем я вызываю функцию initialize при изменении ввода:
function updateCalendar(){
$('#date').datepicker({
format:"dd/mm/yyyy",
beforeShowDay: updateC //function that modifies the available days to show
});
}
5 ответов
$('.datepicker').datepicker('remove');
перед удалением убедитесь, что у вас есть объект выбора даты в DOM. Без удаления вы можете скрыть календарь и изменить формат даты и обновить его .
$('.datepicker').datepicker('update');
Я на самом деле нашел его больше, чтобы просто удалить идентификатор элемента, клонировать его и добавить идентификатор обратно.
Вероятно, вы используете datepicker с входной группой btn, я имею в виду вас с кнопкой значка даты. Таким образом, вы не должны выбирать только входной элемент, когда вы хотите его уничтожить и повторно запустить. Вы должны выбрать div имеет "выбор даты", затем удалить и init снова.
Вы можете использовать:
$('#element_id').datepicker('destroy');
Я назвал это только за пределами моего вызова ajax. Мой вызов ajax создавал datepicker динамически. После звонка я уничтожил объект.
, как показано ниже:
$.ajax({ url: 'my_ business_functions.php',
data: {func_call: 'my_method_name', my_parameter: my_parameters},
type: 'post',
success: function(output) {
//all my stuffs here
$('#element_id').val(datepicker_value);
}
});
$('#element_id').datepicker('destroy');
это служило моей цели.