Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mulitdatepicker-从数组中设置的日期中移除.ui状态高亮显示_Javascript_Date_Datepicker_Jquery Multidatespicker - Fatal编程技术网

Javascript Mulitdatepicker-从数组中设置的日期中移除.ui状态高亮显示

Javascript Mulitdatepicker-从数组中设置的日期中移除.ui状态高亮显示,javascript,date,datepicker,jquery-multidatespicker,Javascript,Date,Datepicker,Jquery Multidatespicker,我有一个Multidatepicker设置,带有一个下拉菜单,允许我根据下拉菜单中选择的频率启用/禁用日期。我还有一系列的日期。。。这些日期是从初始加载时的可用日期中“取消选择”的日期,基本上是从这些日期中删除.ui状态突出显示类,但仍允许单击和“选择”这些日期,这将重新添加.ui状态突出显示 我需要找到一种在初始加载时循环数组的方法,并在日历中模拟“单击”该日期,这将删除ui状态突出显示。。。但是如果它被重新勾选,它会再次添加高光 <select name="frequency

我有一个Multidatepicker设置,带有一个下拉菜单,允许我根据下拉菜单中选择的频率启用/禁用日期。我还有一系列的日期。。。这些日期是从初始加载时的可用日期中“取消选择”的日期,基本上是从这些日期中删除.ui状态突出显示类,但仍允许单击和“选择”这些日期,这将重新添加.ui状态突出显示

我需要找到一种在初始加载时循环数组的方法,并在日历中模拟“单击”该日期,这将删除ui状态突出显示。。。但是如果它被重新勾选,它会再次添加高光

<select name="frequency" id="choose_frequency" name="ajax_choose_frequency">
      <option value="week">Every Week</option>
      <option value="2week">Every Two Weeks</option>
      <option value="3week">Every Three Weeks</option>
      <option value="monthly">Every Four Weeks</option>
 </select>

function update_picker(convert_date){
    var arr = [];
    var date = new Date(convert_date);
    var frequency = jQuery('select#choose_frequency option:checked').val();             
    for(i=0;i<10;i++){
        if(i == 0){
            var p = '';
        }else{
            if(frequency == 'week'){
                var p = 7;
            }else if(frequency == '2week'){
                var p = 14;
            }
            else if(frequency == '3week'){
                var p = 21;
            }else if(frequency == 'monthly'){
                var p = 28;
            }else{
                var p = 1;
                break;
            }
        }

        arr[i] = date.setDate(date.getDate()+p);
    }
    return arr;
}


function update_dates(defaultDate) {
    
    var frequency = jQuery('select#choose_frequency option:checked').val();
    var datedeb = new Date(defaultDate);
    var maxDate = 72;

    var arDate=[];
    var enable = false;

    for(var i = 1; i <maxDate; i++)
    {
        if(frequency == 'week'){
            var p = 7;
        }else if(frequency == '2week'){
            var p = 14;
        }
        else if(frequency == '3week'){
            var p = 21;
        }
        else if(frequency == 'monthly'){
            var p = 28;
        }else{
            var p = 1;
            break;
        }
        enable = i % p == 0;
        var newdate = new Date(datedeb.setDate(datedeb.getDate() + 1));
        if(!enable)arDate.push(newdate);  

    }
    return arDate;
}


var array = [17 Jun 2021, 21 Jun 2021, 29 June 2021];
var defaultDate = '27 May 2021';

jQuery('.multidatepicker').multiDatesPicker({
    dateFormat: "d M yy", 
    defaultDate: defaultDate,
    dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
    monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
                 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    maxDate: 72,
    minDate: defaultDate,
    addDisabledDates: update_dates(defaultDate),
    firstDay : 1,
    addDates:update_picker(defaultDate),
});
在初始加载时,我需要循环遍历日期数组,并从中删除“.ui state highlight”

我试过removeDates:array,但它没有任何作用

在将日期传递到addDates之前,可能需要从update_picker函数中删除日期