微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

extjs4下datefield+timefield组成datetimefield

不说那么多,直接上代码,希望大家多多开源。

Ext.define(这里填写的文件在程序的路径,{
extend : 'Ext.form.FieldContainer',
mixins : {
field : 'Ext.form.field.Field'
},
alias : 'widget.datetimefield',
layout : 'hBox',
combineErrors : true,
msgTarget : 'side',
dateTimeFormat : 'Y-m-d H:i:s',
dateCfg : {},
timeCfg : {},

initComponent : function() {
var me = this;
me.buildField();
me.callParent();
this.dateField = this.down('datefield')
this.timeField = this.down('timefield')
me.initField();
},


// @private
buildField : function() {
this.items = [Ext.apply({
xtype : 'datefield',
format : 'Y-m-d',
allowBlank : false,
editable : false,
flex : 4
},this.dateCfg),Ext.apply({
xtype : 'timefield',
format : 'H:i',
submitFormat : 'H:i:s',
flex : 1
},this.timeCfg)]
},


getValue : function() {
var value,date = this.dateField.getSubmitValue(),time = this.timeField
.getSubmitValue();
console.log(date);
console.log(time);
if (date) {
if (time) {
var format = this.getFormat()
console.log(format);
value = Ext.Date.parse(date + ' ' + time,format)
} else {
value = this.dateField.getValue()
}
}
return value
},


getSubmitValue : function() {
console.log(this.getValue());
var value = this.getValue();
return value ? Ext.Date.format(value,this.dateTimeFormat) : null;
},


setValue : function(value) {
this.dateField.setValue(value)
this.timeField.setValue(value)
},


getSubmitData : function() {
var value = this.getValue()
var format = this.getFormat()
return value ? Ext.Date.format(value,format) : null;
},


getFormat : function() {
return (this.dateField.submitFormat || this.dateField.format) + " "
+ (this.timeField.submitFormat || this.timeField.format)
}
})

以下就是效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐