Ext 时间控件扩充

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  
怎么在今天后面再加个清除按钮,来清空时间框日期?求赐教~~