2011-11-08 80 views
2

我目前使用Dojo日曆組件就像 http://dojotoolkit.org/reference-guide/dojox/widget/Calendar.html選擇多個日期在日曆的Dojo小部件

我的要求是這樣的:

  1. 選擇多個日期標記選定日期作爲節日和保存它在DB中。
  2. 將選定的日期推送爲JSON或數組
  3. 選擇日期後,背景顏色需要以某種顏色標記以確認選擇。
  4. 取消選擇後,需要將背景顏色更改回白色以確認其未選中狀態。

這怎麼可能實現? 幫助表示讚賞多..

-Vinoth

回答

2

你可以試試這個:

<head> 
    <script type="text/javascript"> 
     var selectedDates = {}; 
    </script> 
</head> 
<body class="soria"> 
    <style type="text/css"> 
     @import "dojox/widget/Calendar/Calendar.css"; 
    </style> 
    <div dojoType="dojox.widget.Calendar"> 
     <script type="dojo/connect" event="onValueSelected" args="date"> 
      if (!selectedDates[date]) { 
       selectedDates[date] = 1; 
      } else { 
       delete selectedDates[date]; 
      } 
      var list = dojo.byId("selectedDates"); 
      dojo.attr(list, "innerHTML", ""); 
      for (var date in selectedDates) { 
       if (selectedDates.hasOwnProperty(date)) { 
        dojo.create("li", {"innerHTML":date}, list); 
       } 
      } 

     </script> 
    </div> 
    <ul id="selectedDates"></ul> 
</body> 

我也沒弄明白如何保持有色尚未選定單元格,但它應該是可行的...

+0

非常感謝解決方案。工作完美,但我不能做出選擇和取消選擇顏色變化:( – Vinoth

3

有一個實驗MultiSelectCalendar部件

+0

感謝您指出MultiSelectCalendar小部件。但是,可用於dojo 1.7和我使用dojo 1.6 :( 我的客戶不會批准1.7在不久的將來。一種突出選擇某種顏色的日期的方法? – Vinoth

+0

嘿,看起來不錯!@Vinoth:maybie你可以看看這個新的部件代碼,並重新實現1.6版本的着色部分?!我還沒有看過它儘管如此,我不知道這是多麼困難...... – Philippe

+0

@Vinoth,你可以嘗試從增強權證http://bugs.dojotoolkit.org/ticket/9679上查看一些較舊的補丁,我認爲它是最初是針對Dojo 1.6而設計的 – peller