无法根据生成的日期变量设置 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);