在YUI3日历中使用多个规则

时间:2014-08-06 17:36:17

标签: javascript yui yui-calendar

根据this post,使用相同的名称应该允许我创建多个disabledDatesRule输入。但是,在我的情况下,它似乎只选择指定的最后一个实例。我创建了以下简化的测试用例。最终,我想将其切换为带颜色的customrenderer。如果我不得不满足于禁用日期,那也是有效的。

    var today = new Date();
    var dd = today.getDate(); 
    var mm = today.getMonth(); 
    var yyyy = today.getFullYear();        
    var calendar = new Y.Calendar({
      contentBox: "#mycalendar",
      width:'888px',
      showPrevMonth: true,
      showNextMonth: true,
      disabledDatesRule: "tuesdays_and_fridays",

      minimumDate: new Date(yyyy,mm, dd),
      maximumDate: new Date(yyyy,mm, dd+14),

      date: new Date()}).render();

        var rules={};
        var dYear='2014';
        var dMonth='7';
        var dDate='6';
        rules[dYear]={};
        rules[dYear][dMonth]={};
        rules[dYear][dMonth][dDate]="tuesdays_and_fridays";

        var dDate1='7';
        rules[dYear]={};
        rules[dYear][dMonth]={};
        rules[dYear][dMonth][dDate1]="tuesdays_and_fridays";

     calendar.set("customRenderer", {
       rules: rules,
       filterFunction: function (date, node, rules) {
         if (Y.Array.indexOf(rules, 'tuesdays_and_fridays') >= 0) {
           node.addClass("redtext");
         }
       }
     });

1 个答案:

答案 0 :(得分:0)

自己想出来。您可以拥有多个rules []声明,但它们必须是唯一的。我删除了第二条规则[dYear]和规则[dYear] [dMonth]。