如何在yui3日历中禁用特定日期

时间:2015-03-25 08:15:55

标签: jquery calendar yui yui3

我知道如何在yui3日历中禁用过去日期,但如何禁用特定日期?

我应该为此指定规则吗?他们的文档不是很清楚我无法理解他们为定义规则而编写的语法。如果定义规则是解决方案,那么如何定义一个规则以禁用特定日期?

ex:25-12-2015

1 个答案:

答案 0 :(得分:1)

事实上,规则是禁用特定日期的好方法,你可以这样做:

var calendar = new Y.Calendar({
    date: new Date("2015-12-25"),
    customRenderer: {
        rules: {
            2015: {
                11: {
                    25: "mydisableddays",
                    10: "mydisableddays"
                }
            }
        }
    },
    disabledDatesRule: "mydisableddays"
}).render();

由于您很可能会要禁用一组日期,因此您可以使用此帮助函数将数组转换为规则。

function datearray2filter(dates) {
    var ret = {};
    for (var i in dates) {
        var d = new Date(dates[i]),
            y = d.getFullYear(),
            m = d.getMonth();
        if (!ret[y]) ret[y] = {};
        if (!ret[y][m]) ret[y][m] = {};
        ret[y][m][d.getDate()] = "mydisableddays";
    }
    return ret;
};
console.log(datearray2filter(["2012-12-25", "2012-12-10"]);

这是https://jsfiddle.net/fxaeberhard/5e1b8ay9/6/

的小提琴