ext.net中如何让日期控件只显示年月,听说可以使用现成的MonthPickerPlugin.js扩展控件,如何实现? 5

最终展示的效果是类似这样的:... 最终展示的效果是类似这样的: 展开
 我来答
百度网友ce8a783
2015-03-11 · TA获得超过318个赞
知道小有建树答主
回答量:349
采纳率:50%
帮助的人:267万
展开全部

Ext.define('Ext.form.field.Month', {

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

alias : 'widget.monthfield',

format : 'Y-m',

createPicker : function () {

var me = this,

format = Ext.String.format;

return new Ext.picker.Month({

pickerField : me,

ownerCt : me.ownerCt,

renderTo : document.body,

floating : true,

shadow : false,

listeners : {

scope : me,

//select : me.onSelect,

cancelclick : me.hideMonthPicker,

okclick : me.onSelect,

yeardblclick : me.onSelect,

monthdblclick : me.onSelect

},

keyNavConfig : {

esc : function () {

me.collapse();

}

}

});

},

onSelect : function (picker, value) {

var me = this,

month = value[0],

year = value[1],

date = new Date(year, month);


if (date.getMonth() !== month) {

// 'fix' the JS rolling date conversion if needed

date = Ext.Date.getLastDateOfMonth(new Date(year, month));

}

me.setValue(date);

me.fireEvent('select', me, date);

me.collapse();

},

hideMonthPicker : function () {

var me = this;

me.collapse();

return me;

}

});

Ext.create('Ext.form.Panel', {

renderTo : Ext.getBody(),

width : 300,

bodyPadding : 10,

title : 'Dates',

items : [{

xtype : 'monthfield',

anchor : '100%',

fieldLabel : 'From',

name : 'from_date',

id : 'testmonth'

}, {

xtype : 'datefield',

anchor : '100%',

fieldLabel : 'To',

name : 'to_date',

id : 'testdate',

format:'Y-m-d',

value : new Date() // defaults to today

}

]

});

Ext.defer(function () {

Ext.getCmp('testmonth').setValue('2018-08');

}, 5000);

Ext.defer(function () {

alert(Ext.getCmp('testmonth').getValue());

alert(Ext.getCmp('testdate').getValue());

}, 10000);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式