如何禁用 yui3 日历中的特定日期
How to disable specific dates in yui3 calender
我知道如何在 yui3 日历中禁用过去的日期,但如何禁用特定日期?
我应该为此指定规则吗?他们的文档不是很清楚我无法理解他们为定义规则而编写的语法。如果定义规则是解决方案,那么我如何定义一个规则来禁用特定日期?
例如:25-12-2015
确实,规则是禁用特定日期的好方法,您可以这样实现:
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"]);
我知道如何在 yui3 日历中禁用过去的日期,但如何禁用特定日期?
我应该为此指定规则吗?他们的文档不是很清楚我无法理解他们为定义规则而编写的语法。如果定义规则是解决方案,那么我如何定义一个规则来禁用特定日期?
例如:25-12-2015
确实,规则是禁用特定日期的好方法,您可以这样实现:
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"]);