回显extjs下拉框组件值

.......
{
    xtype: 'combobox',
    fieldLabel:"分类",
    id:'evaluateType',
    name:'evaluateType',
    width:200,
    allowBlank: false,
    displayField: "name",
    valueField: "value",
    emptyText: "--请选择--",
    editable: false,
    autoLoad: false,
    store: Ext.create('Ext.data.Store', {
           fields: ['name', 'value'],
           data : [
             {"key":"绩效评估", "value":'1'},
             {"key":"技术评估", "value":'2'},
             {"key":"政策评估", "value":'3'},
             {"key":"项目评估", "value":'4'}
          ]
    }),//可改为动态加载
    triggerAction: 'all',
    listeners: {
        render : function(combo) {//渲染,重点在这里:
            combo.getStore().on("load", function(s, r, o) {
                var selected = Ext.getCmp('evaluateType').getValue();
                var obj = evaluateTypeDatas.findRecord(combo.valueField, selected);
                combo.setValue(obj);
            });
        }
    }
}........
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Extjs ,可以通过设置 `multiSelect` 属性为 `true` 来实现下拉框多选。回显则需要先获取到下拉框组件,然后将其赋给需要回显的表单元素。 例如,在以下代码,我们创建了一个下拉框组件,设置了 `multiSelect` 为 `true`,并将其添加到了表单。当用户选择完选项后,点击保存按钮时,我们可以获取到下拉框,然后将其赋给一个隐藏的表单元素,以便在下一次打开表单时进行回显。 ```javascript Ext.create('Ext.form.Panel', { title: 'My Form', items: [{ xtype: 'combo', fieldLabel: 'Choose Options', multiSelect: true, store: ['Option 1', 'Option 2', 'Option 3'], displayField: 'name', valueField: 'value' }, { xtype: 'hidden', name: 'selectedOptions' // 隐藏表单元素,用于回显 }], buttons: [{ text: 'Save', handler: function() { var form = this.up('form').getForm(); var selectedOptions = form.findField('selectedOptions'); var combo = form.findField('combo'); var value = combo.getValue(); selectedOptions.setValue(value); // 将下拉框给隐藏表单元素 form.submit({ success: function() { Ext.Msg.alert('Success', 'Form submitted successfully.'); }, failure: function() { Ext.Msg.alert('Error', 'Form submission failed.'); } }); } }] }); ``` 在打开表单时,我们需要先获取到隐藏元素的,然后将其赋下拉框组件。代码如下: ```javascript var form = Ext.create('Ext.form.Panel', { title: 'My Form', items: [{ xtype: 'combo', fieldLabel: 'Choose Options', multiSelect: true, store: ['Option 1', 'Option 2', 'Option 3'], displayField: 'name', valueField: 'value' }, { xtype: 'hidden', name: 'selectedOptions', value: ['Option 1', 'Option 2'] // 设置隐藏表单元素的初始,用于回显 }] }); var selectedOptions = form.getForm().findField('selectedOptions').getValue(); var combo = form.getForm().findField('combo'); combo.setValue(selectedOptions); // 将隐藏表单元素的下拉框组件 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值