Extjs下拉多选框

var stateCombo = new Ext.form.ComboBox({   
        store : new Ext.data.SimpleStore({
fields : ["value", "text"],
data : [['0','有效'],['1','无效']]
}),   
        displayField:'text',   //store也可以动态的去加载,大家自己改一下就OK
        valueField:'value', 
        mode : 'local',
        id : 'stateList',
        typeAhead: true,  
        width : 150,
        fieldLabel : '状态',
        mode: 'local',   
        tpl:'<tpl for="."><div class="x-combo-list-item"><span><input type="checkbox" {[values.check?"checked":""]} value="{[values.text]}" /></span><span >{text}</span></div></tpl>',   
        triggerAction: 'all',   
        emptyText:'请选择',   
        selectOnFocus:true,   
        onSelect : function(record, index){   
            if(this.fireEvent('beforeselect', this, record, index) != false){   
                record.set('check',!record.get('check'));   
               var str=[];//页面显示的值   
                var strvalue=[];//传入后台的值   
                this.store.each(function(rc){ 
                    if(rc.get('check')){   
                        str.push(rc.get('text'));   
                        strvalue.push(rc.get('value'));   
                    }   
                });   
               this.setValue(str.join());   
                this.value=strvalue.join();//赋值
                this.fireEvent('select', this, record, index);   
            }
        },
        listeners:{
        expand : function(value){//监听下拉事件
        this.store.each(function(rc){
        if(value.value==rc.get('value')){
        rc.set('check',true);//选中
        }
                });
        }
        }
    });
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值