EXT下拉框联动

extJs之下拉框联动  

在ext的世界里面,我重新感受到了在学校里玩swing的记忆.那时我们都需要为一个控件创建一个数据源,在把这个数据源绑定在控件上.ext也是如此.

首先,两个下拉框,第一个下拉框首先load数据源,在select的事件中在load第二个数据源,这就是一个简单的二级联动的实现原理了.

Js代码 
//  第一个下拉框   
var parentStore = new Ext.data.Store({   
    proxy: new Ext.data.HttpProxy({   
        url: 'loadByParentid.action?parentid=1001'  
    }),   
    reader: new Ext.data.JsonReader({   
    root: 'list',   
    id: 'id'  
    }, [   
        {name: 'id', mapping: 'id'},   
        {name: 'mc', mapping: 'name'}   
    ])   
});    
//     第二个下拉框   
var childStore = new Ext.data.Store({   
    proxy: new Ext.data.HttpProxy({   
                       //这里是参数可以顺便写,这个数据源是在第一个下拉框select的时候load的   
        url: 'loadByParentid.action?parentid=1001'  
    }),   
    reader: new Ext.data.JsonReader({   
    root: 'list',   
    id: 'id'  
    }, [   
        {name: 'id', mapping: 'id'},   
        {name: 'mc', mapping: 'name'}   
    ])   
});    
  
      {   
    fieldLabel: '请选择分类',   
           xtype:'combo',   
           store: parentStore,   
           valueField :"id",   
           displayField: "mc",   
           mode: 'local',   
           forceSelection: true,//必须选择一项   
           emptyText:'请选择分类...',//默认值   
           hiddenName:'interviewsDetail.parent_category',//hiddenName才是提交到后台的input的name   
           editable: false,//不允许输入   
           triggerAction: 'all',//因为这个下拉是只能选择的,所以一定要设置属性triggerAction为all,不然当你选择了某个选项后,你的下拉将只会出现匹配选项值文本的选择项,其它选择项是不会再显示了,这样你就不能更改其它选项了。   
           //allowBlank:false,//该选项值不能为空   
    id : 'parent_id',   
           name: 'parent',   
        width: 400,   
        listeners:{     
            select : function(combo, record,index){   
                childStore.proxy= new Ext.data.HttpProxy({url: 'loadByParentid.action?parentid=' + combo.value});   
                    childStore.load();    
            }   
        }   
       },{   
           xtype:'combo',   
           store: childStore,   
           valueField :"id",   
           displayField: "mc",   
    //数据是在本地   
           mode: 'local',   
           forceSelection: true,//必须选择一项   
           emptyText:'请选择子分类...',//默认值   
           hiddenName:'interviewsDetail.child_category',//hiddenName才是提交到后台的input的name   
           editable: false,//不允许输入   
           triggerAction: 'all',//因为这个下拉是只能选择的,所以一定要设置属性triggerAction为all,不然当你选择了某个选项后,你的下拉将只会出现匹配选项值文本的选择项,其它选择项是不会再显示了,这样你就不能更改其它选项了。   
           //allowBlank:false,//该选项值不能为空   
           fieldLabel: '选择',   
           id : 'child_id',   
           name: 'child',   
    width: 400   
       }  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值