在jquery完整日历中更改事件的背景颜色

时间:2013-07-18 09:14:56

标签: c# jquery .net css fullcalendar

我有一个Web应用程序(asp.net mvc4),其中我使用了Jquery Full Calendar site

  <script>

        $(document).ready(function () {
            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();
            var tab = [];
            var d1 = [];
            var m1 = [];
            var y1 = [];
            var d2 = [];
            var m2 = [];
            var y2 = [];
            var colors = [];

             @for(int i =0; i< @Model.Get_List_Tache().Count;i++){
                 @: d1.push(@Model.Get_List_Tache()[i].Begin_date.Day);
                 @: m1.push(@Model.Get_List_Tache()[i].Begin_date.Month);
                 @: y1.push(@Model.Get_List_Tache()[i].Begin_date.Year);
                 @: d2.push(@Model.Get_List_Tache()[i].End_date.Day);
                 @: m2.push(@Model.Get_List_Tache()[i].End_date.Month);
                 @: y2.push(@Model.Get_List_Tache()[i].End_date.Year);
                         }
            d1.reverse();
            m1.reverse();
            y1.reverse();
            d2.reverse();
            m2.reverse();
            y2.reverse();
            @for(int i =0; i< @Model.Get_List_Tache().Count;i++){
            @:var e = { title: "Tache: @Model.Get_List_Tache()[i].Tache_description", start: new Date(y1.pop(), m1.pop() - 1, d1.pop(), 08, 00), end: new Date(y2.pop(), m2.pop() - 1, d2.pop(), 18, 00), allDay: true};
            @: tab.push(e);
        }                      
      $('#calendar').fullCalendar({
                theme: true,
                header: {left: 'prev,next today',center: 'title',right: 'month,agendaWeek,agendaDay'},
                editable: true,
                events: tab
      });
        });
         @for (int i = 0; i < @Model.GetColors().Count; i++)
         {

         }

</script>

我在模型GetColors()

中有一个颜色列表
public List<string> GetColors() {
            Sa_group sadmin = new Sa_group();
            Equipe _equipe = new Equipe();
            List<string> _out = new List<string>();
            List<Tache> liste_initiale = _equipe.Get_List_tache();
            foreach (Tache t in liste_initiale) {
                if (t.Id_tache_status == 1) { _out.Add("red"); }
                if (t.Id_tache_status == 2) { _out.Add("green"); }
                if (t.Id_tache_status == 3) { _out.Add("black"); }
                                                }
            return _out;
        }

因此,我需要将background-color中每个元素的events更改为GetColors()的值。

我该怎么做这个任务?有什么建议?

1 个答案:

答案 0 :(得分:1)

Hi Lamloumi你可以在事件对象属性中看到,你可以在每个事件中设置一个className,它允许你为每个事件定义一个CSS类,然后为每种类型的事件背景颜色定义每种颜色在CSS中。如果颜色是动态的,我的意思是如果它们不完全相同,你可以使用Jquery或javascript来“动态”改变css类。

如果您需要进一步说明,请告诉我。

活得长久而且繁荣。