我正在使用Extjs 4.0.7并且很难在combobox
formPanel
submit
fieldValue
combobox
hiddenName
hiddenName
1}}。
据我所知,这通常是通过将formPanel
配置选项设置为您希望它将值提交为的值来实现的;比如在html中使用隐藏字段,但valueField
选项现在似乎已从文档中删除,没有任何明显的替代选择。
那么如何继续提交我的xtype: 'combobox',
name: 'shift',
hiddenName: 'shiftid',
id: 'shiftCombobox',
fieldLabel: 'Shift',
labelWidth: 30,
width: 130,
margin: '0 5',
cls: 'shift',
store: shiftStore,
autoSelect: true,
queryMode: 'local',
displayField: 'name',
valueField: 'objectid',
autoSelect: true,
handler: function() {
//changeShift();
}
并在Extjs 4中使用shiftStore
的值?
这是我的应用程序中的一个剪辑,我在其中定义了一个组合框:
Ext.define('shiftModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'objectid', type: 'int'},
{name: 'name', type: 'string'}
]
});
这是{{1}}使用的模型:
{{1}}
答案 0 :(得分:0)
我忘记了这段代码:
autoLoad: {
//The callback here is needed to fix a bug and set a default value in the combobox.
scope: this,
callback: function() {
var comboBox = Ext.getCmp("teamCombobox");
var store = comboBox.store;
// set the value of the comboBox here
comboBox.setValue(store.getAt('0').get('name'));
}
}
更新combobox
商店combobox
上的autoLoad
,以便在加载时使用默认值。
我已将值设置为 name ,即displayValue
。将值设置为相应的fieldValue
,在我的例子中是一个名为 objectid 的字段
在我这样设置后,它可以工作:
comboBox.setValue(store.getAt('0').get('objectid'));
现在combox
提交了真实的fieldValue
,而不是我意外设置的文字值。
我仍然想知道是否有某种方法可以控制它。