无法根据生成的日期变量设置 bootstrap 日历上的日期?
Not able to set the dates on bootstrap calendar from generated dates variable?
预期行为
我想做的只是在 ajax 调用之后设置日期。我有来自 PHP 页面的日期数组。因此,所有日期都应显示为 bootstrap 日历上的选定日期。
实际行为
日期列表未在 bootstrap 日历视图中显示为 selected/set 日期。但是,如果我只为 ex 传递一个日期,23/04/2020,它正在设置,但是如果我在变量中传递像 23/04/2020,24/04/2020 这样的日期,那么它就没有设置。
使用的日期选择器版本
Bootstrap v1.8.0
的日期选择器
示例代码
$.ajax({
type: "POST",
url: "remove_data.php",
data: {ch: ch, dh: dh, sp_rec: sp_rec, cartDate: 1},
success: function(data) {
//console.log(data);
var obj = $.parseJSON(data);
var myDates = '';
var temp,temp2;
for(var i=0;i<obj.length;i++) {
var temp = obj[i];
var dt = new Date(temp);
myDates = myDates+" "+dt+",";
temp2= obj[1];//0=22 1=23
}
temp = "2020-04-23";
//console.log(myDates);
var dt2 = new Date(temp2);
var dt1 = new Date(temp);
//working...but I don't want this solution...
$('#disc_single_datepicker_1').datepicker('setDates',[dt1,dt2]); //set two dates....
//Not working...but I want to make work like below....
$('#disc_single_datepicker_1').datepicker('setDates',[myDates]); //doesn't set any dates.....however it should set all the provided dates......
display_toastr(datainfo+" record has been removed!","Remove Record",true,"right","info");
$("#row_"+dh).fadeOut('slow');
}, error: function() {
alert("Something went wrong. Please contact admin!");
}
});
你想做的事是不可能的。
根据the docs:
setDates
Arguments:
date[, date[, …]]
(Date
)
or
[date[, date[, …]]]
(Array
)
我不确定您添加的 for
循环是否是您实际使用的那个循环,但如果您这样做了 - 不要。
只需将日期推入数组,然后将其传递给 setDates
:
var dates = [];
for (var i=0; i<obj.length; i++) {
var dt = new Date(obj[i]);
dates.push(dt);
}
$('#disc_single_datepicker_1').datepicker('setDates',dates);
预期行为
我想做的只是在 ajax 调用之后设置日期。我有来自 PHP 页面的日期数组。因此,所有日期都应显示为 bootstrap 日历上的选定日期。
实际行为
日期列表未在 bootstrap 日历视图中显示为 selected/set 日期。但是,如果我只为 ex 传递一个日期,23/04/2020,它正在设置,但是如果我在变量中传递像 23/04/2020,24/04/2020 这样的日期,那么它就没有设置。
使用的日期选择器版本
Bootstrap v1.8.0
的日期选择器示例代码
$.ajax({
type: "POST",
url: "remove_data.php",
data: {ch: ch, dh: dh, sp_rec: sp_rec, cartDate: 1},
success: function(data) {
//console.log(data);
var obj = $.parseJSON(data);
var myDates = '';
var temp,temp2;
for(var i=0;i<obj.length;i++) {
var temp = obj[i];
var dt = new Date(temp);
myDates = myDates+" "+dt+",";
temp2= obj[1];//0=22 1=23
}
temp = "2020-04-23";
//console.log(myDates);
var dt2 = new Date(temp2);
var dt1 = new Date(temp);
//working...but I don't want this solution...
$('#disc_single_datepicker_1').datepicker('setDates',[dt1,dt2]); //set two dates....
//Not working...but I want to make work like below....
$('#disc_single_datepicker_1').datepicker('setDates',[myDates]); //doesn't set any dates.....however it should set all the provided dates......
display_toastr(datainfo+" record has been removed!","Remove Record",true,"right","info");
$("#row_"+dh).fadeOut('slow');
}, error: function() {
alert("Something went wrong. Please contact admin!");
}
});
你想做的事是不可能的。
根据the docs:
setDates
Arguments:
date[, date[, …]]
(Date
)or
[date[, date[, …]]]
(Array
)
我不确定您添加的 for
循环是否是您实际使用的那个循环,但如果您这样做了 - 不要。
只需将日期推入数组,然后将其传递给 setDates
:
var dates = [];
for (var i=0; i<obj.length; i++) {
var dt = new Date(obj[i]);
dates.push(dt);
}
$('#disc_single_datepicker_1').datepicker('setDates',dates);