1

我在不可用日期和周末设置了一系列不可用日期。

大批:

<script type="text/javascript">//<![CDATA[
var unavailableDates = [];
{foreach $fixed.rows as $row}
    var row = {};
    row['date_from'] = "{$row.fixed_date_from.value}";
    row['date_until'] = "{$row.fixed_date_until.value}";
    row['name'] = "{$row.fixed_name.value} ({$row.fixed_type.value})";
    unavailableDates.push(row);
{/foreach}
//]]></script>

Q1) 我如何为截止日期添加额外的支票。我已经得到它的工作,如下所示的开始日期?

Q2) 我可以改进代码以使用 in_array 而不是循环遍历每个日历日的每个日期吗?

var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
var unavailableDays = ["Saturday","Sunday"];

$("#.datePicker").datepicker($.extend(true, {}, $.initDatePickers.defaults, {
    beforeShowDay: function(date) {
        ymd = date.getFullYear() + "-" + ("0"+(date.getMonth()+1)).slice(-2) + "-" + ("0"+date.getDate()).slice(-2);
        day = new Date(ymd).getDay();
        result = null;

        // Check if date in unavailable array or weekend
        for(var i = 0; i < unavailableDates.length; i++){
            if ((ymd == unavailableDates[i].date_from) && $.inArray(days[day], unavailableDays) < 0) {
                return [false,"unavailable",unavailableDates[i].name];
            }
        }

        if(result){
            return result;
        } else {
            return [true, "available", ""];
        }
    } 
}));
4

1 回答 1

0

使用该befreShowDay选项来解析您的数据数组以确定日期是否可选

beforeShowDayType:函数(日期日期)

函数将日期作为参数,并且必须返回一个数组,其中 [0] 等于 true/false 指示此日期是否可选,1等于 CSS 类名称或默认表示为 "",以及 [2]此日期的可选弹出工具提示。在显示之前,它会在日期选择器中的每一天被调用。

于 2012-10-13T13:52:15.250 回答