jQuery - bootstrap datepicker - 如何重新加载/销毁?

时间:2018-02-07 07:07:51

标签: jquery bootstrap-datepicker

我在我的网站上使用bootstrap datepicker(这里是URL:http://www.eyecon.ro/bootstrap-datepicker/)。我使用AJAX(以及表单)动态加载许多元素,所以首先初始化AJAX我只是在AJAX完整函数中添加这个代码:

$(function(){
        // disabling dates
            var nowTemp = new Date();
            var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), (nowTemp.getDate()+1), 0, 0, 0, 0);

            var checkin = $('.datepicker').datepicker({
                autoclose: true,
                onRender: function(date) {
                    return date.valueOf() < now.valueOf() ? 'disabled' : '';
                }
            }).data('datepicker');
        });

但是当AJAX初始化第二次并再次初始化时,在控制台中我得到了:

文件中的

TypeError: date is undefined,您可以从以下网址下载:http://www.eyecon.ro/bootstrap-datepicker/文件名为:js / bootstrap-datepicker.js

所以我也尝试了第二次并再次初始化,以这种方式销毁这个日期选择器:

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

以这种方式:

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

然后加载加载datepicker的函数(看看,我的帖子中的第一个代码) 但在控制台我得到了:TypeError: data[option] is not a function

这是我在每个初始化AJAX中使用的函数:

function form_refreshing()
    {
        $('input[type=checkbox],input[type=radio],input[type=file]').uniform();
        $('select').select2();

        if ( parseInt($('#new_page_loaded').val()) !== 0 ) // checking which time AJAX is initialize, if more than once - remove/destroy datepicker fisrt, and then load it again
        {
            $('.datepicker').datepicker('remove'); // I tried also with destroy and in console I got the same error
        }
        $(function(){
        // disabling dates
            var nowTemp = new Date();
            var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), (nowTemp.getDate()+1), 0, 0, 0, 0);

            var checkin = $('.datepicker').datepicker({
                autoclose: true,
                onRender: function(date) {
                    return date.valueOf() < now.valueOf() ? 'disabled' : '';
                }
            }).data('datepicker');
        });

        return;
    }

任何人都可以帮助我吗? 感谢。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。我有一个模态的日期/时间选择器,我需要确保minDate是&#34;现在&#34;在任何时候。

我的解决方案是:

var date = new Date();
date.setDate(date.getDate());
$('#datetimepicker').datetimepicker("minDate", date);

所以你可以看到,这就是我首先加载日期选择器的方式:

var date = new Date();
date.setDate(date.getDate());

$('#datetimepicker').datetimepicker({
    inline: true,
    sideBySide: true,
    minDate: date
});

我所要做的只是重置那个minDate并且它有效。

希望这对你有帮助吗?