日期:2014-05-16 浏览次数:20421 次
看了下网上的下拉框多选扩展示例都太复杂了。本来很简单的东西却搞的那么复杂。
贴贴我的代码 很简单
var store = new Ext.data.SimpleStore({ fields: ['abbr', 'state', 'nick'], data : Ext.exampledata.states // from states.js }); var combo = new Ext.form.ComboBox({ store: store, displayField:'state', valueField:'abbr', typeAhead: true, mode: 'local', //tpl:'<tpl for="."><div ><span><input type="checkbox" onclick="myclick(this)" value="{state}" /></span><span class="x-combo-list-item">{state}</span></div></tpl>', tpl:'<tpl for="."><div class="x-combo-list-item"><span><input type="checkbox" {[values.check?"checked":""]} value="{[values.state]}" /></span><span >{state}</span></div></tpl>', triggerAction: 'all', emptyText:'select...', // xtype:'button', selectOnFocus:true, applyTo: 'local-states', 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('state')); strvalue.push(rc.get('abbr')); } }); this.setValue(str.join()); this.value=strvalue.join(); //this.collapse(); this.fireEvent('select', this, record, index); } } });?