extjs 月份选择控件_ExtJs4 日期 年月选择控件(转)

按 Ctrl+C 复制代码

MonthField.js

Ext.define('Ext.ux.form.MonthField', {

extend: 'Ext.form.field.Picker',

alias: 'widget.monthfield',

//requires: ['Ext.picker.Date'],

//alternateClassName: ['Ext.form.DateField', 'Ext.form.Date'],

format: "Y-m",

altFormats: "m/y|m/Y|m-y|m-Y|my|mY|y/m|Y/m|y-m|Y-m|ym|Ym",

//disabledDaysText: "Disabled",

//disabledDatesText: "Disabled",

//minText: "The date in this field must be equal to or after {0}",

//maxText: "The date in this field must be equal to or before {0}",

//invalidText: "{0} is not a valid date - it must be in the format {1}",

triggerCls: Ext.baseCSSPrefix + 'form-date-trigger',

//showToday: true,

//initTime: '12',

//initTimeFormat: 'H',

matchFieldWidth: false,

startDay: new Date(),

initComponent: function () {

var me = this;

me.disabledDatesRE = null;

me.callParent();

},

initValue: function () {

var me = this,

value = me.value;

if (Ext.isString(value)) {

me.value = Ext.Date.parse(value, this.format);

}

if (me.value)

me.startDay = me.value;

me.callParent();

},

rawToValue: function (rawValue) {

return Ext.Date.parse(rawValue, this.format) || rawValue || null;

},

valueToRaw: function (value) {

return this.formatDate(value);

},

formatDate: function (date) {

return Ext.isDate(date) ? Ext.Date.dateFormat(date, this.format) : date;

},

createPicker: function () {

var me = this,

format = Ext.String.format;

return Ext.create('Ext.picker.Month', {

//renderTo: me.el,

pickerField: me,

ownerCt: me.ownerCt,

renderTo: document.body,

floating: true,

shadow: false,

focusOnShow: true,

listeners: {

scope: me,

cancelclick: me.onCancelClick,

okclick: me.onOkClick,

yeardblclick: me.onOkClick,

monthdblclick: me.onOkClick

}

});

},

onExpand: function () {

//this.picker.show();

this.picker.setValue(this.startDay);

//

},

// onCollapse: function () {

// this.focus(false, 60);

// },

onOkClick: function (picker, value) {

var me = this,

month = value[0],

year = value[1],

date = new Date(year, month, 1);

me.startDay = date;

me.setValue(date);

this.picker.hide();

//this.blur();

},

onCancelClick: function () {

this.picker.hide();

//this.blur();

}

});

按 Ctrl+C 复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值