Повторно инициализировать или уничтожить 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');

это служило моей цели.


forceParse: 1

в ваши варианты. Он будет анализировать значение поля даты ввода каждый раз.