读书人

Ext 时间控件扩充

发布时间: 2012-10-25 10:58:57 作者: rapoo

Ext 时间控件扩展

?

最近学习Ext 有一个时间要求显示时分秒的需求,网上查找发现需要扩展,找到了一个不错的扩展。

?

使用时发现不能改变日期时间格式化,默认是Y-m-d H:i:s

?

配置属性

日期部分为:dateFormat:'Y-m-d'//修改没问题

时间部分为:timeFormat:'H:i:s'//修改这个格式就会出错

虽然这不算什么问题,但总感觉不舒服,万一哪天冒出一个无理的要求怎么办?所以自己进行了修改。

?

去掉了dateFormat与timeFormat这两个配置属性,使用format这个配置属性。

配置属性:

format:'Y-m-d H:i:s'//默认配置

format:'Y-m-d'//只显示日期

?

Ext 时间控件扩充

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

附件为修改后的。

解压后放在Ext的根目录下就好了(就是和ext-all.js同级目录)。

?

如果真的帮到你了的话,请评论回复一下。

?

原文 http://chemzqm.iteye.com/blog/653723

1 楼 babydeed 2010-09-02 今天 没事测了一下 发现ie6下 显示稍微有点问题
后来改了DateTimeField.js里面的197行的
children: [{
tag: 'td',
cls: 'x-date-bottom',
html: this.timeLabel,
style: 'width:50;' //这个宽度我改成了50
},

ie6显示没问题了

火狐下测试发现 显示还是有问题 高度多了一块 杯具

(我用ext3.2.1测试的)
不知道作者注意到没? 2 楼 chai1020 2010-09-02 我测过了IE6是没有问题的。
但在IE8与Opera里面会出现问题,下面会有一段空白。
其实就是一个浏览器兼容性问题。
附件我已经重新上传了。
修改内容为DateTimeField.js代码208行。 3 楼 taotao6086 2010-09-30 babydeed 写道今天 没事测了一下 发现ie6下 显示稍微有点问题
后来改了DateTimeField.js里面的197行的
children: [{
tag: 'td',
cls: 'x-date-bottom',
html: this.timeLabel,
style: 'width:50;' //这个宽度我改成了50
},

ie6显示没问题了

火狐下测试发现 显示还是有问题 高度多了一块 杯具

(我用ext3.2.1测试的)
不知道作者注意到没?

在onRender方法加入浏览器的判断,根据不同浏览器设置不同的高度,火狐默认是正常显示的,如果不行,可以根据需要判断不同的浏览器增加高度和宽度
我的代码如下

var p = this.el.parent('div.x-layer');
if (p) {
//在这里判断不同的浏览器,设置高不同,现在只判断了ie浏览器,火狐在默认情况下显示没有问题
//if(!Ext.isIE8&&!Ext.isOpera){
// p.setStyle("height", p.getHeight()+32);
//}
if(Ext.isIE){
p.setStyle("height", p.getHeight()+40);
}

}
4 楼 tloner 2012-03-16 很好,下载了很多个,发现楼主这个最好用,谢谢 5 楼 alexyao8 2012-05-23 怎么在今天后面再加个清除按钮,来清空时间框日期?求赐教~~

读书人网 >Web前端

热点推荐