EasyUI Forum

General Category => EasyUI for jQuery => Topic started by: iamjxc on July 23, 2014, 12:51:09 AM



Title: datebox 控件如何支持 yyyy-MM 格式
Post by: iamjxc on July 23, 2014, 12:51:09 AM
问题描述:
     datebox控件, 复写formatter, 把选择的日期 2014-03-23 转成 2014-03 或者 2014 格式
     测试发现, 选择日期后, dateFormatter 会调用2次, 第一次传入 2014-03-23, 第2次传入原日期值, 导致值始终都是原来的值.
     似乎跟日期格式有关系, dateFormatter 返回 2014-03 或 2014, 不被 datebox 控件接受?

复写属性
     formatter: function(date){return dateFormatter(el, date);},

函数内容:
     function dateFormatter(el, date){
      var y = date.getFullYear();
      var m = date.getMonth()+1;
      var d = date.getDate();
      
      var mm = m;
      if (mm < 10) mm = "0" + mm;
      var dd = d;
      if (dd < 10) dd = "0" + dd;
      
      var opt = el.combo("options");
      if (opt.mask){
         var value = opt.mask;
         value = value.replace("yyyy", y);
         value = value.replace("MM", mm);
         value = value.replace("dd", dd);
         
         value = value.replace("M", m);
         value = value.replace("d", d);
         return value;
      }
      
      var value = y + "-" + mm + "-" + dd;
      return value;
   }