动态重新初始化或销毁Bootstrap datepicker

时间:2014-05-10 14:40:49

标签: twitter-bootstrap methods datepicker destroy

有没有办法销毁Bootstrap datepicker动态更新其格式,beforeShowDay等选项? 我知道jQuery UI datepicker有一个destroy方法,但Bootstrap没有。它只有.('remove')方法但不起作用。

我的目标是在更改输入时修改日期选择器的选项,例如:

$('#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 个答案:

答案 0 :(得分:31)

$('.datepicker').datepicker('remove');

确保在删除之前在DOM中有日期选择器对象。 如果不删除,您可以隐藏日历并更改日期格式并进行更新。

$('.datepicker').datepicker('update');

答案 1 :(得分:2)

您可以使用:

$('#element_id').datepicker('destroy');

我在我的ajax电话之外打电话给我。我的ajax调用是动态创建日期选择器。打完电话后,我把对象摧毁了。

如下所示:

$.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');

这符合我的目的。

答案 2 :(得分:0)

我实际上发现它只是删除元素的ID,克隆它,并重新添加ID。

答案 3 :(得分:0)

你可以使用带有输入btn组的datepicker,我的意思是你带有一个日期图标按钮。因此,当您想要销毁它并重新启动时,不应该只选择输入元素。你应该选择div有“日期选择器”,然后再次删除和初始化。

答案 4 :(得分:-1)

forceParse: 1

在您的选项中。 它将每次解析输入日期字段值。

相关问题