给动态数据源的Ext.form.ComboBox设置初始值及提交后怎样取值

动态数据源的Ext.form.ComboBox不能向静态数据源那样设置初始值,那样做的结果只会让设置的value值直接先是到界面上。

 

可用如下办法处理,就是在数据都准备好以后在初始化:

例如ter

        var terminalModelStore = new Ext.data.JsonStore
        ({
            root:'rows',
            totalProperty:'recordCount',
            url:'getTerminalModel.action',
            fields: ['name', 'value'],
            autoLoad:true   
        })

 

        var terminalModel = new Ext.form.ComboBox
        ({
            id:'trmlModel',
            name: 'trmlModel',
            hiddenName: 'terminalModel',
            fieldLabel:'终端型号',
            typeAhead: true,
            //emptyText:'--请选择--',
            //disabled: true,
            mode: 'local',         
            triggerAction: 'all',
            selectOnFocus:true,
            forceSelection: true,
            editable: false,
            valueField: 'value',
            displayField: 'name',
            anchor:'95%',
            //value:'all',
            store: terminalModelStore         
        });

 

        function initData(){
              terminalModel.setValue('all');
              Ext.form.ComboBox.superclass.setValue.call(terminalModel, '全部');
        }


        viewport.on('aferRender',initData());

 

Ext.form.ComboBox的另外一个用法曾经给我比较大的困扰,就是当表单提交后的取值。 Ext.form.ComboBox的值只能通过hiddenName定义的名称去取得。      比如上例:

 

            name: 'trmlModel',
            hiddenName: 'terminalModel',

 

request.getParameter(" terminalModel")取得值才是正确的, request.getParameter(" trmlModel ")实际上取得是显示的名称,即“ displayField ”对应的值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值