六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 51|回复: 0

Extjs 日期控件扩展,只显示月份

[复制链接]

升级  50.67%

108

主题

108

主题

108

主题

举人

Rank: 3Rank: 3

积分
352
 楼主| 发表于 2013-1-29 08:40:48 | 显示全部楼层 |阅读模式
//Extjs 引用

var rq_formPanel = new Ext.FormPanel({border : false,hideLabel : true,autoWidth : true,height : 26,labelWidth : 35,style : {padding : '4 0 0 10'// 上 右 下 左},items : [{xtype : 'datefield',// 日期控件width : 145,validateOnBlur : true,fieldLabel : '月份',plugins : 'monthPickerPlugin',name : 'slsj_ks',format : 'Y-m',value : new Date()}]});


monthPickerPlugin.js 插件js

Ext.ux.MonthPickerPlugin = function() {       var picker;       var oldDateDefaults;         this.init = function(pk) {           picker = pk;           picker.onTriggerClick = picker.onTriggerClick.createSequence(onClick);           picker.getValue = picker.getValue.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);           picker.beforeBlur = picker.beforeBlur.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);       };         function setDefaultMonthDay() {           oldDateDefaults = Date.defaults.d;           Date.defaults.d = 1;           return true;       }         function restoreDefaultMonthDay(ret) {           Date.defaults.d = oldDateDefaults;           return ret;       }         function onClick(e, el, opt) {           var p = picker.menu.picker;           p.activeDate = p.activeDate.getFirstDateOfMonth();           if (p.value) {               p.value = p.value.getFirstDateOfMonth();           }             p.showMonthPicker();                      if (!p.disabled) {               p.monthPicker.stopFx();               p.monthPicker.show();      // if you want to click,you can the dblclick event change click              p.mun(p.monthPicker, 'click', p.onMonthClick, p);               p.mun(p.monthPicker, 'click', p.onMonthDblClick, p);               p.onMonthClick = p.onMonthClick.createSequence(pickerClick);               p.onMonthDblClick = p.onMonthDblClick.createSequence(pickerDblclick);               p.mon(p.monthPicker, 'click', p.onMonthClick, p);               p.mon(p.monthPicker, 'click', p.onMonthDblClick, p);           }       }         function pickerClick(e, t) {           var el = new Ext.Element(t);           if (el.is('button.x-date-mp-cancel')) {               picker.menu.hide();           } else if(el.is('button.x-date-mp-ok')) {               var p = picker.menu.picker;               p.setValue(p.activeDate);               p.fireEvent('select', p, p.value);           }       }         function pickerDblclick(e, t) {           var el = new Ext.Element(t);           if (el.parent()               && (el.parent().is('td.x-date-mp-month')               || el.parent().is('td.x-date-mp-year'))) {                 var p = picker.menu.picker;               p.setValue(p.activeDate);               p.fireEvent('select', p, p.value);           }       }   };     Ext.preg('monthPickerPlugin', Ext.ux.MonthPickerPlugin);
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表