如何在ExtJS4中提交组合框的fieldValue?
我正在使用Extjs 4.0.7,很难在如何在ExtJS4中提交组合框的fieldValue?,extjs,extjs4,Extjs,Extjs4,我正在使用Extjs 4.0.7,很难在formPanel中获得一个combobox,以提交combobox上所选选项的字段值 据我所知,这通常是通过将hiddenNameconfiguration选项设置为您希望它提交值的值来实现的;就像在html中使用隐藏字段一样,但是hiddenName选项现在似乎从文档中删除了,没有任何明显的替代选项 那么,我如何继续提交带有extjs4中valueField值的formPanel 这是我的应用程序中的一个片段,我在其中定义了一个组合框: xtype:
formPanel
中获得一个combobox
,以提交combobox
上所选选项的字段值
据我所知,这通常是通过将hiddenName
configuration选项设置为您希望它提交值的值来实现的;就像在html中使用隐藏字段一样,但是hiddenName
选项现在似乎从文档中删除了,没有任何明显的替代选项
那么,我如何继续提交带有extjs4中valueField
值的formPanel
这是我的应用程序中的一个片段,我在其中定义了一个组合框:
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();
}
这就是shiftStore
使用的模型:
Ext.define('shiftModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'objectid', type: 'int'},
{name: 'name', type: 'string'}
]
});
我忘记了这个代码:
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'));
}
}
它更新了组合框
存储的自动加载
上的组合框
,以便在加载时使用默认值。
我已经将值设置为name,这是displayValue
。将该值设置为相应的字段值
,在我的例子中是一个名为objectid的字段
我这样设置后,它会工作:
comboBox.setValue(store.getAt('0').get('objectid'));
现在,combox
提交的是真实的fieldValue
,而不是我意外设置的文本值
我还是想知道是否有办法控制这种情况 我忘记了这个代码:
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'));
}
}
它更新了组合框
存储的自动加载
上的组合框
,以便在加载时使用默认值。
我已经将值设置为name,这是displayValue
。将该值设置为相应的字段值
,在我的例子中是一个名为objectid的字段
我这样设置后,它会工作:
comboBox.setValue(store.getAt('0').get('objectid'));
现在,combox
提交的是真实的fieldValue
,而不是我意外设置的文本值
我还是想知道是否有办法控制这种情况 我找到了解决办法,但还不能回答我自己的问题。请随意发布一个可靠的方法来控制提交的内容,虽然有解决方案。我找到了解决方案,但还不能回答我自己的问题。请随意发布一个可靠的方法来控制提交的解决方案。