[摘要]: 选择时间过后我们为什么需要监听事件?一般有这样一种情况,那就是用于比较两个时间大小或者需要判断在哪个时间点上需要做什么样的操作。基于这样的种种情况,我们很有必要琢磨一下datefield控件的日期选择事件了的。 那么我们如何添加日期选择事件呢?针对这样一个问题,网上有很多ExtJs的盆友想到了change事件,就是当文本框内日期值就上一次值来说不同时,触发该事件,change事件添加核心代码如下所示: { xtype: 'datefield', name: 'birthday', format: 'Y-m-d', hideTrigger: true, //隐藏文本框后面的图标 fie...

选择时间过后我们为什么需要监听事件?一般有这样一种情况,那就是用于比较两个时间大小或者需要判断在哪个时间点上需要做什么样的操作。基于这样的种种情况,我们很有必要琢磨一下datefield控件的日期选择事件了的。

那么我们如何添加日期选择事件呢?针对这样一个问题,网上有很多ExtJs的盆友想到了change事件,就是当文本框内日期值就上一次值来说不同时,触发该事件,change事件添加核心代码如下所示:

 



​01.​​​​{​


​02.​​​​xtype: ​​​​'datefield'​​​​,​


​03.​​​​name: ​​​​'birthday'​​​​,​


​04.​​​​format: ​​​​'Y-m-d'​​​​,​


​05.​​​​hideTrigger: ​​​​true​​​​, ​​​​//隐藏文本框后面的图标​


​06.​​​​fieldLabel: ​​​​'出生年月'​​​​,​


​07.​​​​listeners: {​


​08.​​​​//添加日期选择事件​


​09.​​​​"change"​​​​: ​​​​function​​ ​​() {​


​10.​​​​alert(​​​​"你选择了日期~!"​​​​);​


​11.​​​​},​


 

change事件的弊端

1、就是当当前选择的值和上一次值一样时,就不会触发此事件;这样一来就一些特殊需求就不是很符合的。

基于这样一种change的弊端,我们从而想到了select事件

 



​01.​​​​{​


​02.​​​​xtype: ​​​​'datefield'​​​​,​


​03.​​​​name: ​​​​'birthday'​​​​,​


​04.​​​​format: ​​​​'Y-m-d'​​​​,​


​05.​​​​hideTrigger: ​​​​true​​​​, ​​​​//隐藏文本框后面的图标​


​06.​​​​fieldLabel: ​​​​'出生年月'​​​​,​


​07.​​​​listeners: {​


​08.​​​​//添加日期选择事件​


​09.​​​​"select"​​​​: ​​​​function​​ ​​() {​


​10.​​​​alert(​​​​"你选择了日期~!"​​​​);​


​11.​​​​},​


 

这样一来,不管你选择的日期和上一次日期是否相同均会触发此事件。