2015-03-25 86 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/

提琴
相關問題