EasyUI 日期選擇插件封裝成選擇到月份的插件

將普通的日期選擇插件封裝成選擇到月份的插件:html

                    var nowMonth = new Date();                    var month = nowMonth.getMonth()+1;                    month = month < 10 ?"0"+month:month;                    var fmdate =nowMonth.getFullYear()+"-"+month;                    // 封面記帳日期                    $('#fmDate').datebox({                        iconWidth : 40,                        width : 300,                        height : 40,                        panelWidth : 260,                        editable : false,                        onChange : function(txt) {                            jizhangController.loadFengmianInfo(txt);                        },                        value : fmdate,                        onShowPanel : function() {// 顯示日趨選擇對象後再觸發彈出月份層的事件,初始化時沒有生成月份層                                  span.trigger('click'); // 觸發click事件彈出月份層                                  if (!tds)                                      setTimeout(function() {// 延時觸發獲取月份對象,由於上面的事件觸發和對象生成有時間間隔                                          tds = p.find('div.calendar-menu-month-inner td');                                          tds.click(function(e) {                                              e.stopPropagation(); // 禁止冒泡執行easyui給月份綁定的事件                                              var year = /\d{4}/.exec(span.html())[0]// 獲得年份                                              , month = parseInt($(this).attr('abbr'), 10) + 1; // 月份                                              $('#fmDate').datebox('hidePanel')// 隱藏日期對象                                              .datebox('setValue', year + '-' + month); // 設置日期的值                                          });                                      }, 0);                              },                              parser : function(s) {// 配置parser,返回選擇的日期                                  if (!s)                                      return new Date();                                  var arr = s.split('-');                                  return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);                              },                              formatter : function(d) {                                  var month = d.getMonth()+1;                                if(month<=10){                                    month = "0"+month;                                }                                if (d.getMonth() == 0) {                                      return d.getFullYear()-1 + '-' + 12;                                  } else {                                      return d.getFullYear() + '-' + month;                                  }                              }// 配置formatter,只返回年月                      });                    var p = $('#fmDate').datebox('panel'), // 日期選擇對象                          tds = false, // 日期選擇對象中月份                          span = p.find('span.calendar-text'); // 顯示月份層的觸發控件 
相關文章
相關標籤/搜索