如何在 extJs 4.1 组合框多选中仅选择两个选项
Posted
技术标签:
【中文标题】如何在 extJs 4.1 组合框多选中仅选择两个选项【英文标题】:how to select only two options in extJs 4.1 combobox multiselect 【发布时间】:2012-09-06 11:25:44 【问题描述】:我有一些按列描述的代码
cols.offer.push(
dataIndex: 'tags',
header : 'Тэги',
width:150,
editor :
xtype : 'combo',
store : gridTagStore,
queryMode: 'local',
displayField: 'name',
//valueField: 'name',
multiSelect:true,
typeAhead: true,
editable:false,
triggerAction: 'all',
selectOnTab: true,
lazyRender: true,
listClass: 'x-combo-list-small',
listeners:
focus: function(e)
this.setValue(this.rawValue.split(', '));
);
所以我只想在组合框中选择两个选项。
如果我选择第三个,我想 - 什么都不会发生
谢谢! 它对我有用!
cols.offer.push(
dataIndex: 'show_at_index_as_tag_id',
header : 'Показывать на главной под тегом',
width:150,
editor :
xtype : 'combo',
store : gridTagStore,
queryMode: 'local',
typeAhead: true,
displayField: 'name',
selectOnTab: true,
triggerAction: 'all',
lazyRender: true,
valueField: 'id',
multiSelect:true,
listClass: 'x-combo-list-small',
listeners:
beforeselect : function()
return (this.value.length == 1 && this.value[0] === "") || this.value.length == 0 ;
);
我决定只限制一个选项并使用多选,因为我存储了在其他应用程序中使用的选项。
但是我需要在这个组合中选择空值,所以选择一个选项的多选是很好的解决方案
【问题讨论】:
【参考方案1】:将beforeselect
监听器添加到 ComboBox。在函数中定义 ComboBox 中已经选择了多少项,如果它的计数 > 2 return false;
到 do nothing
。
【讨论】:
以上是关于如何在 extJs 4.1 组合框多选中仅选择两个选项的主要内容,如果未能解决你的问题,请参考以下文章