我在我的网站上使用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;
}
谁能帮我?谢谢。
我遇到了类似的问题。我有一个模态的日期/时间选择器,我需要确保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并且它有效。
希望这有助于你吗?