javascript - JQuery 从 datepicker 获取可用日期对象列表

标签 javascript list jquery-ui jquery-ui-datepicker date-range

我设置了以下日期选择器:

<script>
     var disabled = ["2014-09-01","2014-10-16", "2014-10-17", "2014-10-20", "2014-11-26", "2014-11-27", "2014-11-28", "2014-12-22", "2014-12-23", "2014-12-24", "2014-12-25", "2\
    014-12-26", "2014-12-29", "2014-12-30", "2014-12-31", "2015-01-1", "2015-01-2", "2015-01-19", "2015-02-16", "2015-03-9", "2015-04-06", "2015-04-07", "2015-04-08", "2015-04-09"\
    , "2015-04-10", "2015-05-25" ] // yyyy-mm-dd


    $("#datepicker").datepicker({
        minDate: new Date(2014, 7, 19),
         maxDate: new Date(2015, 4, 29),
          numberOfMonths: 1,
           hideIfNoPrevNext: true,
            beforeShowDay: function(date){
             var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
               return [ disabled.indexOf(string) == -1 ]
           }
       });
</script>
<div>
    <input type="text" id="datepicker"/>
</div>

有没有办法让我在此日期选择器中形成每个有效日期的数组? (即是否有内置方法可以执行此操作或类似操作?或者我需要手动编写它?)

我这样做是为了调度应用程序,我最终将把这个列表转换成一个散列,键是列表的元素,值是当天的小时数。

最佳答案

使用 javascript 获取可用日期数组:

var min=new Date(2014, 7, 19);
var max=new Date(2015, 4, 29);
var available={};
var available_arr=[];

for(;min<=max;min.setDate(min.getDate()+1)){
    available[jQuery.datepicker.formatDate('yy-mm-dd', min)]=true;
}

for(var i=0;i<disabled.length;i++){
    available[disabled[i]]=false;
}


for(var i in available){
    if(available[i]) available_arr.push(i);
}

console.log(available_arr);

关于javascript - JQuery 从 datepicker 获取可用日期对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964662/

相关文章:

javascript - 在运行时使用 jquery 准备表体会导致设计问题

javascript - stopPropagation如何取消preventDefault?

javascript - 使用 jquery 定位事件目标

python - 如何在 Python 中创建 3 位数字的每种组合的列表?

Python 3 将范围转换为列表

jquery mobile data-rel=背部麻烦

javascript - 在 Bootstrap Modal Close 上取消绑定(bind)现有功能

list - 如何查找 WebElements 列表的大小?

jquery - 如何更改 Jquery UI slider handle

javascript - 已加载 jQuery UI 库但得到 "Uncaught TypeError: $(...).effect is not a function"