2015-03-25 77 views
0

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

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

例如:25-12-2015

回答

1

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

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/

提琴
相关问题