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

问题描述 投票:1回答:1

我在我的网站上使用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;
    }

谁能帮我?谢谢。

jquery bootstrap-datepicker
1个回答
0
投票

我遇到了类似的问题。我有一个模态的日期/时间选择器,我需要确保minDate始终“现在”。

我的解决方案是:

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并且它有效。

希望这有助于你吗?

© www.soinside.com 2019 - 2024. All rights reserved.