【问题标题】:How to set Extjs ComboBox valueField dynamically?如何动态设置 Extjs ComboBox valueField?
【发布时间】:2011-07-27 17:48:48
【问题描述】:

我有两个组合框设置为同一商店

组合1

xtype: 'combo',
store: client_store,
queryMode: 'local',
displayField: 'mem_id',
valueField: 'mem_id',
....

组合2

xtype: 'combo',
store: client_store,
queryMode: 'local',
displayField: 'mem_name',
valueField: 'mem_name',

所以第一个用于按成员 ID 搜索和选择,第二个用于成员名称

有没有办法使用一个组合框而不是两个组合框并动态设置 valueField 和 displayField ?

问候

【问题讨论】:

  • 用户是否一次只能在页面上看到一个组合?
  • 当前用户可以同时看到这两个。但我要做的是对两个操作都使用一个组合框
  • 在您的商店中设置一个附加字段。称它为 display_name 或其他名称,并使用 Ext.data.Field.convert 连接名称和 ID。 convert:function(v,r){return r.get('mem_name')+' ('+r.get('mem_id')+')'} 然后将组合的显示字段设置为此 display_name。这样,在下拉列表中,您现在将看到“Gihan Lasita (71)”,而不仅仅是 Gihan Lasita 或 71

标签: javascript extjs extjs4


【解决方案1】:

如果你与远程源交互,你可以使用 Ext.data.HttpProxy 结合 Ext.data.JsonReader 来做到这一点。写得很好的例子:http://www.sk-typo3.de/ExtJS-Dynamische-Comboboxen.337.0.html

【讨论】:

  • 感谢您的回复.. 在我的情况下,我想使用一个商店并使用同一个盒子来加载数据
猜你喜欢
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
相关资源
最近更新 更多