ext中年月日使用combobox控件

年月日的表达使用combobox控件:

var zoneStore = new Ext.data.ArrayStore({
	fields : ['cityzone'],
	data : [],
	sortInfo : {
		field : 'cityzone',
		direction : 'ASC'
	}
});
var monthStore = new Ext.data.ArrayStore({
	fields : [  'month' ],
	data : [ [ '1' ], [ '2' ],[ '3' ], [ '4' ],[ '5' ], [ '6' ],[ '7' ], [ '8' ],[ '9' ], [ '10' ],[ '11' ], [ '12' ]]
});
var dayStore = new Ext.data.SimpleStore({
	fields:['day'],
	data:[['01'],['02'],['03'],['04'],['05'],['06'],['07'],['08'],['09'],['10'],
	       ['11'],['12'],['13'],['14'],['15'],['16'],['17'],['18'],['19'],['20'],
	       ['21'],['22'],['23'],['24'],['25'],['26'],['27'],['28'],['29'],['30'],['31']]
})


{   xtype:'label',
	 text:'选择年份:',
	 style:'color:red;'},
 {
	xtype : 'combo',
	labelSeparator : '',
	width : 60,
	store : zoneStore,
	typeAhead : true,
	editable : false,
	triggerAction : 'all',
	mode : 'local',
	anchor : '96%',
	minWidth : 60,
	lazyInit : false,
	lazyRender : false,
	id : 'year',
	name : 'year',
	valueField : 'cityzone',
	displayField : 'cityzone'
} ,'-',
{   xtype:'label',
	 text:'选择月份:',
	 style:'color:red;'}, 
{
	xtype : 'combo',
	labelSeparator : '',
	width : 60,
	store : monthStore,
	typeAhead : true,
	editable : false,
	triggerAction : 'all',
	mode : 'local',
	anchor : '96%',
	minWidth : 60,
	lazyInit : false,
	lazyRender : false,
	id : 'month',
	name : 'month',
	valueField : 'month',
	displayField : 'month',
	listeners:{
		'select' : function(){
			initDay();
			Ext.getCmp('day').setValue('01');
		}
	}
} ,'-',
{   xtype:'label',
	 text:'日期:',
	 style:'color:red;'}, 
	 {
			xtype : 'combo',
			labelSeparator : '',
			width : 60,
			store : dayStore,
			typeAhead : true,
			editable : false,
			triggerAction : 'all',
			mode : 'local',
			anchor : '96%',
			minWidth : 60,
			lazyInit : false,
			lazyRender : false,
			id : 'day',
			name : 'day',
			valueField : 'day',
			displayField : 'day'
		}


/**
 * 根据年月初始化day的值
 */
function initDay(){
	 MonDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	 var year = Ext.getCmp('year').getValue();
	 var month = Ext.getCmp('month').getValue();
//	 alert(year + ";" + month);
	 var n = MonDays[month-1];
	 if(month=='2'&&isLeapYear(year)){
		 n++;
	 }
	 for(var i=1;i<=n;i++){
		 var dayrecord;
		 if(i<10)
			 dayrecord = new Ext.data.Record({'day':"0" + i})
		 else
			 dayrecord = new Ext.data.Record({'day':i})
		 dayStore.add(dayrecord);
	 }
	 Ext.getCmp('day').store=dayStore;
}
/**
 * 判断是否闰年   
 * @param {} year
 * @return {}
 */
function isLeapYear(year){
	return( year%4==0 || (year%100 ==0 && year%400 == 0));
}


var nowyear=new Date().getFullYear();
intyear=Number(nowyear) ;
var yeardata = [[intyear-5],[intyear-4],[intyear-3],[intyear-2],[intyear-1],[intyear]];		
		zoneStore.loadData(yeardata);
initDay();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值