ExtJS组合复选框

时间:2011-04-18 09:28:56

标签: extjs

对于我正在使用的组合框内的复选框:

AOEDComboAssociationName = new Ext.form.ComboBox({
  id: 'AOEDComboAssociationName',
  store: AOEDstoreAssociationName,
  displayField: 'Name',
  valueField: 'Id',
  typeAhead: true,
  mode: 'local',
  emptyText: '',
  selectOnFocus: true,
  triggerAction: 'all',
  width: 220,
  tpl: new Ext.XTemplate('<tpl for=".">'
        + '<div class="search-item" >'
        + '<input type="checkbox" class=" x-form-checkbox x-form-field">&nbsp;{Name}'
        + '</div></tpl>'
        )
})

它显示复选框以及组合的显示字段,但当我选择一个项目组合自动折叠时,所以再次点击组合选择多个(另一个项目)

如何多次查看?

2 个答案:

答案 0 :(得分:2)

  

如何多次查看?

在组合框中设置:

multiSelect: true

答案 1 :(得分:1)

这完全是一个黑客,但我认为你可以覆盖你的子类

// private
onSelect : function(record, index){
    if(this.fireEvent('beforeselect', this, record, index) !== false){
        this.setValue(record.data[this.valueField || this.displayField]);
        this.collapse();
        this.fireEvent('select', this, record, index);
    }
},
//…

// private
onSelect : function(record, index){
    if(this.fireEvent('beforeselect', this, record, index) !== false){
        this.setValue(record.data[this.valueField || this.displayField]);
        //this.collapse();
        this.fireEvent('select', this, record, index);
    }
},
//…

如果你不想覆盖任何东西,你总是可以通过在'beforeselect'事件中返回false来取消onSelect代码,但是你必须对setValue()和fireEvent('select')做一些事情。你自己。