我在表单中有一个组合框,valueField 是 mongodb 中文档的 ObjectId 字段,它显示组合框中字段的正确值,但它只用 getValue 返回值的一部分,getRawValue 返回的值显示字段。这是组合框的代码:
{
xtype: 'combo',
fieldLabel:'Firm',
store:Ext.data.StoreManager.lookup('bbCompaniesStore'),
displayField: 'firm',
valueField: '_id',
name: 'country',
labelAlign: 'top',
cls: 'field-margin',
flex: 1
}
这就是我从表单中获取值的方式:
var nomeField = formPanel.items.get(0).items.get(0);
var firmField = formPanel.items.get(0).items.get(1);
var noteField = formPanel.items.get(0).items.get(2);
var contact = Ext.ModelManager.create({nome: nomeField.getValue(), note: noteField.getValue(),'firm_id':firmField.getValue()}, 'Contact');
它可以工作,但它会中继_id的值,我用firebug检查过,服务器发送了正确的数据,我认为extjs做了某种规范化,在我使用getRawValue解决之前,但使用组合框它返回displayField。我不知道如何解决这个问题。