如何在 extjs 日期字段或日期选择器中访问更改月份事件
Posted
技术标签:
【中文标题】如何在 extjs 日期字段或日期选择器中访问更改月份事件【英文标题】:How can I access change month event in extjs datefield or in datepicker 【发布时间】:2012-07-08 03:12:17 【问题描述】:我想要这样的东西:
xtype:'datefield',
editable:false,
fieldLabel:'date',
listeners:
monthChange:function(picker)
alert("selected month and year")
有什么改变月份的活动吗?如果没有,我该怎么写?
谢谢
【问题讨论】:
【参考方案1】:这是扩展“Ext.date.Picker”的示例,因为没有“monthchange”事件:
Ext.define("YourCalendarPicker",
extend: "Ext.picker.Date",
...
update : function(date, forceRefresh)
var me = this,
monthViewChange = me.isAnotherMonthView(date);
me.callParent(arguments);
if (monthViewChange)
me.fireEvent("monthviewchange", me, date, me.activeDate);
return me;
,
...
/**
* return true if the given date is in a different month view of the actual calendar date
* @param Date date
* @return Boolean
*/
isAnotherMonthView: function(date)
var activeDate = this.activeDate || date;
return date.getYear() != activeDate.getYear() || date.getMonth() != activeDate.getMonth();
;
【讨论】:
【参考方案2】:确实没有monthChange事件,但是您可以在有人选择新日期时收听,然后也许您可以比较月份以查看它是否发生了变化? http://docs.sencha.com/ext-js/4-1/#!/api/Ext.picker.Date-event-select
如果这不是您要解决的问题,请提供更多信息。
【讨论】:
以上是关于如何在 extjs 日期字段或日期选择器中访问更改月份事件的主要内容,如果未能解决你的问题,请参考以下文章