有没有办法销毁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
});
}
答案 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
在您的选项中。 它将每次解析输入日期字段值。