2012-07-06 45 views
0

我使用以下代碼創建並顯示當前年份日曆...現在,我想顯示從今年到今後18年的年份..我無法做到這一點,請給予我有些邏輯要做在dojo日曆中顯示選定的年份

<!DOCTYPE html> 
<html > 
<head> 

    <link rel="stylesheet" href="dojo/dojoroot/dijit/themes/claro/claro.css"> 
    <style type="text/css">.undefined table.dijitCalendarContainer { 
    margin: 25px auto; 
    width: 200px; 
}</style> 
<script src='dojo/dojoroot/dojo/dojo.js' data-dojo-config='parseOnLoad: true'></script><script>require([ 
    "dojo/ready", 
    "dijit/dijit", // loads the optimized dijit layer 
    "dijit/Calendar", 
    "dojo/date" 
], function(ready, dijit, Calendar, date){ 
    ready(function(){ 
     new Calendar({ 
     value: new Date(), 
     isDisabledDate: function(d){ 

     // var d = new Date(d); d.setYear(2012); 
      var d = new Date(d); d.setHours(0, 0, 0, 0); 
      var today = new Date(); today.setYear(2012); 
      return Math.abs(date.difference(d, today, "year")); 
     } 
     }, "mycal"); 
    }); 
});</script> 
</head> 
<body class="claro"> 
    <div id="mycal"></div> 
</body> 
</html> 

回答

0

dijit.Calender.isDisabledDate應返回布爾值。

http://dojotoolkit.org/api/1.7/dijit/Calendar

您當前的代碼是一個有點複雜,我認爲......更簡單。

-current年

isDisabledDate : function(d) { 
    return d.getYear() != new Date().getYear(); //current year 
} 

-current到明年18年

isDisabledDate : function(d) { 
    return d.getYear() > (parseInt(new Date().getYear(), '10') + 18) || d.getYear() < new Date().getYear(); // current year to next 18 years 
} 
相關問題