Extjs DateField onchange
2024-08-27 05:43:27
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, {
// private
readOnly: 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'
}
最新文章
- 华盛顿大学 Programming Languages
- SPFA+寻路(行路难,洛谷2832)
- 从Objective-C转战C++ Android平台开发实践(C++/Java)
- win8下出现安装sql2012 正在启动操作系统功能"NetFx3"
- 初探Team Foundation Server (TFS) 2015 REST API
- ZOJ-3870 Team Formation
- #ifdef预编译相关用法
- day1作业
- 字符串右移n位(C++实现)
- 设计模式 - 命令模式(command pattern) 具体解释
- Java -Xms -Xmx -Xss -XX:MaxNewSize -XX:MaxPermSize含义记录
- 自己编写的仿京东移动端的省市联动选择JQuery插件
- 安卓TV开发(前言)— AndroidTV模拟器初识与搭建
- iOS----------面试常问
- [笔记]记录原开发工作在base命名空间下扩展的属性与方法
- SpringMVC+JQuery实现头像编辑器
- border:none和border:0的区别
- C#代码分析--阅读程序,回答问题
- JVM——代空间的划分
- redis安装及注意事项
热门文章
- spring boot在控制台输出彩色日志
- 【LOJ】#2443. 「NOI2011」智能车比赛
- 【LOJ】 #2033. 「SDOI2016」生成魔咒
- 用html5实现的flappy-bird
- pygame模块参数汇总(python游戏编程)
- 《Android源码设计模式》--原型模式
- @Resource与@Autowired注解的区别(转)
- 哪来的gou zi 阿龙(最新更新于1.21日)
- 监控cpu、内存 <;shell>;
- CSS3组件化之菊花loading