ExtJS Combo с флажками - PullRequest
       0

ExtJS Combo с флажками

2 голосов
/ 18 апреля 2011

Для флажков внутри выпадающего списка я использую:

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 ]

2 голосов
/ 17 апреля 2015

Как я могу проверить более одного раза?

Установите это в выпадающем списке:

multiSelect: true
1 голос
/ 18 апреля 2011

Это полный взлом, но я думаю, что вы можете переопределить в своем подклассе

// 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);
    }
},
//…

Если вы не хотите что-либо переопределять, вы всегда можете отменить код onSelect, вернув false в событии beforeselect, но вам придется что-то делать с помощью setValue () и fireEvent ('select') самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...