ext DateField 活动日期初始化

一般Ext.form.DateField的活动日期为当前日期,若有需求要其初始值从yyyy/mm/dd开始,并且没有默认值,如何实现。查了半天API文档都没找到合适的属性改变其初始值,通过网页搜索页一无所获,最后通过查看ext源代码才知道了思路,现将解决方案实现如果。

var staff_birthday = new Ext.form.DateField({
			id : 'user.staffBirthday',
			fieldLabel : '出生日期',
			width : 130,
			startDateField : 'user.staffBirthday',
			name : 'user.staffBirthday',
			format : 'Y-m-d',
			readOnly : true,
			menuListeners : {
				beforeshow : function() {
					var myDate=new Date();
		                        myDate.setFullYear(1970,0,1);
					this.menu.picker.setValue(this.getValue()||myDate);
				},
				select : function(m, d) {
					this.setValue(this.menu.picker.getValue());
				}
			}
		});

 代码说明如下:本DateField的活动初始值是1970年1月1日。

1:通过添加menuListeners监听事件即可实现改变其活动初始值,beforeshow事件,改变的是活动初始值,而select事件则是将所选的值赋值到文本区域。

2:javaScript中的Date的setFullYeay()方法的第二个参数的取值范围是0-11,所以要是日期为1970年1月1日,第二个参数应为0

 

你可能感兴趣的:(Ext)