EXTJS-->下拉框

var suppStore = new Ext.data.Store({
            //autoLoad: true,
            proxy : new Ext.data.HttpProxy({
            url : rootPath+"basedata/supplierInfo!getSuppliers.action",
               timeout : 60000
            }),
            reader : new Ext.data.JsonReader({
            root : 'list' ---后台返回的JSON数据含有list在这里进行解析
            },
Ext.data.Record.create([ -->创建一个record,一条记录
{ name : 'C_SUPPLIER_CODE'}, -->可以用来隐藏ID
{ name : 'C_SUPPLIER_NAME'} -->用来显示
]))

           });

suppStore.load({ -->插入第一条数据,显示全部
            callback: function(obj){
suppStore.insert(0,new suppStore.recordType({C_SUPPLIER_CODE:'',C_SUPPLIER_NAME:'全部'}));
}
           });


var  supp_Comb = new Ext.form.ComboBox({
typeAhead : true,
loadStatus : false,
triggerAction : 'all',
-->用all标识把下拉框列表值全部显示出来,如果用query,做了一次选择之后,第二次去使用 会按第一次输入的值显示

store : suppStore,
fieldLabel : '代理商',
id: _this.formId+'supp',
name : 'supp',
allowBlank : false,
editable : false,
mode : 'local',
displayField : 'C_SUPPLIER_NAME',
-->用来显示的数据

valueField : 'C_SUPPLIER_CODE', -->值是ID
resizable : true,
editable : false,
width : _this.textwidth,
selectOnFocus : true
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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); // 将隐藏表单元素的下拉框组件 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值