EXTJS combo下拉框插入脚本生成的数据

因项目中用到下拉框内容是季度标识,如2012003,201206,201209,201212

要求下拉框根据当天日期算出前面10年内的季度标识

 

Ext.define('DateModel', {
                extend: 'Ext.data.Model',
                fields: [
                    { name: 'name', type: 'string' },
                    { name: 'id', type: 'string' }
            ]
            });
            var comboStoreEndDate = Ext.create('Ext.data.Store', {
                model: 'DateModel'
            });

            //季度标识:201203,201206,201209,201212
            var dtCurrent = new Date();
            dtCurrent = Ext.Date.add(dtCurrent, Ext.Date.MONTH, 3);
            var dateY = Ext.Date.format(dtCurrent, 'Y');
            var dateM = Ext.Date.format(dtCurrent, 'm');
            var QuarterStartDate = '';
            var QuarterEndDate = '';
            //根据当前日期算出所在季度,若月份小于3则选上一季度12
            if (dateM < 3) {
                dtCurrent = Ext.Date.add(dtCurrent, Ext.Date.YEAR, -1);
                dateY = Ext.Date.format(dtCurrent, 'Y');
                dateM = '12';
            }
            else if (dateM >= 3 && dateM < 6) {
                dateM = '03';
            }
            else if (dateM >= 6 && dateM < 9) {
                dateM = '06';
            }
            else if (dateM >= 9 && dateM < 12) {
                dateM = '09';
            }
            else if (dateM == 12) {
                dateM = '12';
            }
            //上个季度
            var dtPrevious;
            var strPreviousDate = '';
            var strCurrentDate = '';
            strCurrentDate = dateY + '' + dateM;
            //生成数据实体
            var recordDate = Ext.ModelManager.create({
                name: strCurrentDate,
                id: strCurrentDate
            }, 'DateModel');
            //将实体插入store中
            comboStoreEndDate.insert(0, recordDate);
            //季度标识,算出前10年的
            dtCurrent = new Date(dateM + '/15/' + dateY + '');
            for (var i = 1; i <= 40; i++) {
                dtPrevious = Ext.Date.add(dtCurrent, Ext.Date.MONTH, -(3 * i));
                strPreviousDate = Ext.Date.format(dtPrevious, 'Ym');
                //生成数据实体
                recordDate = Ext.ModelManager.create({
                    name: strPreviousDate,
                    id: strPreviousDate
                }, 'DateModel');
                //将实体插入store中
                comboStoreEndDate.insert(0, recordDate);
            }


 

 

{
                        xtype: 'combobox',
                        width: 357,
                        store: comboStoreEndDate,
                        queryMode: 'local',
                        displayField: 'name', valueField: 'id',
                        fieldLabel: '季度',
                        listeners: {
                            afterrender: function (onme, options) {
                                //alert(QuarterEndDate);
                                //                                            var endIndex = comboStoreEndDate.find('name', QuarterEndDate);
                                onme.setValue(strCurrentDate);
                            }
                        }
                    }


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值