1 开发思路: 在日期值变化的事件中获得选择后的日期值,传给后台,然后从后台加载相应的数据

2 问题:在查看extjs2.2 的api的官方说明文档,文档对datefield组件的change事件说明如下:

change : ( Ext.form.Field this, Mixed newValue, Mixed oldValue )        Fires just before the field blurs if the field value has changed.

这句话是说值发生变化,并且在失去焦点之前触发此事件,也就是说如果此日期组件的值发生变化,而焦点并没有失去,这个事件也就不会触发。通过我们的程序验证,事实也的确如此。我们需要值发生变化就要触发相应的事件。

3 解决方法:

从源头找事件:是用户点击相应的日期,才导致文本框里的值发生变换。可以捕获这个点击选择事件,通过这个事件我们得到日期值,传给后台,加载列表数据

4 具体做法:

继承Ext.form.DateField,覆盖menuListeners这个私有监听器属性,封装类如下:

Ext.form.CustomDateField = Ext.extend(Ext.form.DateField,  {// privatereadOnly: true,setValueFn:null,menuListeners : {select: function(m, d){this.setValue(d);if(this.setValueFn)this.setValueFn.call(this,this.formatDate(this.parseDate(d)));},show : function(){this.onFocus();},hide : function(){this.focus.defer(10, this);var ml = this.menuListeners;this.menu.un("select", ml.select,  this);this.menu.un("show", ml.show,  this);this.menu.un("hide", ml.hide,  this);}}
});
Ext.reg('customDateField', Ext.form.CustomDateField);

5 使用这个自定义的组件:

{fieldLabel : '计划开始日期',vtype : 'isBlank',xtype : 'datefield',xtype : 'customDateField',setValueFn:function(value){alert(value);},format : 'Y-m-d'}

Extjs DateField onchange相关推荐

  1. 【转】ExtJS DateField 日期控件Format格式化

    日期格式参考extjs api文档中的Date类型. var md = new Ext.form.DateField({ ............ format: 'Y-m-d H:i:s', ... ...

  2. ExtJs计算两个DateField所间隔的月份(天数) new Date(str) IE游览器提示NaN 处理...

    需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...

  3. Extjs之DateField控件的鼠标点击选取事件监控

    Ext用的比较多的同志会发现一个问题,Extjs的DateField并没有提供'select'事件.而在我们的实际开发过程中,经常会需要去监控它,并进行后续的处理.在逼不得已的情况下,我们会用'cha ...

  4. extjs计算两个DateField所间隔的月份(天数)

    需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...

  5. extjs 获取日期控件的值_Extjs的datefield怎么获取当前系统时间所属月月初到月末...

    匿名用户 1级 2016-10-14 回答 日期控件: new Ext.form.DateField( { fieldLabel : '开始日期', id : 'beginDate', width : ...

  6. extjs 月份选择控件_Ext DateField控件 - 只选择年月

    效果 HTML代码: MonthPicker JavaScript代码: //MonthPickerPlugin.js文件,年月选择的关键代码 Ext.ux.MonthPickerPlugin = f ...

  7. extjs中dateField日期精确到时分秒的扩展控件

    这是一个在网上下载的控件,拿过来和大家分享一下,截图如下: [img]http://dl.iteye.com/upload/attachment/376371/0851bc2e-cebd-322b-b ...

  8. ExtJS入门教程03,form中怎能没有validation

    接上篇内容,我们在学会extjs form的基本用法之后,今天我们来看看extjs form的validation功能. 必填项,就是不能为空(allowBlank) 效果: 代码: {xtype: ...

  9. Extjs Form用法详解(适用于Extjs5)

    为什么80%的码农都做不了架构师?>>>    Extjs Form是一个比较常用的控件,主要用来显示和编辑数据的,今天这篇文章将介绍Extjs Form控件的详细用法,包括创建Fo ...

最新文章

  1. 损失函数理解汇总,结合PyTorch1.7和TensorFlow2
  2. Educational Codeforces Round 25
  3. 多线程:当你提交任务时,线程队列已经满了,这时会发生什么?
  4. Cropper – 简单的 jQuery 图片裁剪插件
  5. 【 Tomcat 】tomcat8.0 调优配置
  6. U-BOOT之一:BootLoader 的概念与功能
  7. C#学习笔记(十一):动态类型
  8. k上升段,对于排列问题的处理
  9. Tomcat最大线程数的设置
  10. 使用SQLyog创建简单的触发器
  11. 前台收银系统授权服务器未开启,佳为软件操作大全 佳为收银系统
  12. 佳能打印机无法确认打印机与计算机连接,安装打印机驱动时提示确认打印机已连接电脑的问题分析及解决办法...
  13. k2450 linux 显卡驱动,Debian系统安装NVIDIA驱动支持双显卡切换
  14. AMD显卡更新UEFI GOP
  15. 免费打工仔:一个完善的ActiveX Web控件教程
  16. c盘空间不足怎么清理(电脑磁盘空间不足怎么清理)
  17. BZOJ1226【SDOI2009】学校食堂
  18. 在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因
  19. c语言和plc编程,PLC编程-C语言PPT学习课件
  20. 第三代酷睿i3处理器_最便宜的英特尔酷睿i3笔记本电脑现在面向企业用户

热门文章

  1. win7 蓝屏信息获取和处理
  2. fatal error LNK1120: 11 unresolved externals
  3. 【系统】CentOS、Ubuntu、Debian三个linux比较异同
  4. 诗与远方:无题(六十)
  5. layui表格固定列覆盖滚动条导致错位
  6. C# Winform控件动态删除
  7. Java 异步回调机制实例解析
  8. 如何让tableView保持顺畅
  9. 关于int类型除以1000后保留两位小数的问题,并且在excel里打印出来
  10. Bluetooth handsfree 和 headset 区别