Extjs下拉多选框

时间:2021-09-22 16:30:03
//------录入时间,下拉列表框------
var inputTimeRow = new Ext.data.Record.create([
{
name : 'value'
},{
name : 'text'
}
]);
var inputTimeReader = new Ext.data.JsonReader({
fields : inputTimeRow
});
var inputTimeProxy = new Ext.data.HttpProxy({
url : actionUrl
});
var inputTimeStore = new Ext.data.JsonStore({//配置项数据源
baseParams:{action:'getInputTime'},
pruneModifiedRecords : true,
proxy : inputTimeProxy,
reader : inputTimeReader,
fields : inputTimeRow
});
inputTimeStore.load(); var inputTimeComboBox = new Ext.form.ComboBox({
//value : '数据',
store : inputTimeStore,
triggerAction : 'all',
lazyRender : true,
typeAhead : true,// 允许自动选择匹配的剩余部分文本
displayField : 'text',
valueField : 'value',
selectOnFocus : true,
mode : 'local',
readOnly:false,
editable:false,
emptyText : '选择时间',
fieldLabel: '录入时间',
id: 'InputTime',
name: 'InputTime',
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>',
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);//选中
}
})
}
},
width:105
});