ExtJS的组合框 - 让JSON更深入的价值
问题描述:
对于内部原因,我要送从服务器返回到组合如下JSON字符串:ExtJS的组合框 - 让JSON更深入的价值
{"root":[{"employeeId":1,"user":{"userName":"admin"}}]}
正如你所看到的,用户实际上是一个对象,任何方式,组合框将能够读取它?
组合配置为如下:
,displayField:'user.userName'
,title:'Manager'
,xtype: 'numberfield'
,hiddenName: 'employeeId'
,valueField : 'employeeId'
这是商店:
var store = new Ext.data.JsonStore({
autoLoad: true,
url: "/some_data",
root: 'root',
methos:'POST',
fields:[{name:"employeeId"},{name:"user.userName"}] });
的分机不会渲染它,因为任何解决办法?
答
使用的字段的“映射”属性在您的商店重新映射“深”的价值观,以简单的名称组合框就可以参考:
new Ext.form.ComboBox({
fieldLabel: 'Manager',
hiddenName: 'employeeId',
store: new Ext.data.JsonStore({
root: 'root',
url: '/some_data',
method: 'POST',
fields: [
{name: 'employeeId'},
{name: 'userName', mapping: 'user.userName'}
]
}),
displayField: 'userName',
valueField: 'employeeId'
});
谢谢,但我得到“用户没有定义”,甚至尽管它被定义.... – fatnjazzy 2011-04-24 04:22:03
我会怀疑,那么在JSON响应中的记录之一可能会丢失用户属性。显示完整JSON数据以及如何将其加载到商店中的更完整示例会很有帮助。 – owlness 2011-04-24 17:34:23