这是我的Extjs onReady函数
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: '/loginjson.json'
}),
reader: new Ext.data.JsonReader(
{root: 'row', fields:['dblist']}
)
});
store.load();
这里我在我的FormPanel中使用它
renderTo: document.getElementById("loginform"),
title: "Login Form",
items: [{
xtype: 'combo',
fieldLabel: 'genre',
name: 'genre',
store: store,
autoLoad: true,
displayField: 'dblist',
}
和django的JSON URL像这样返回
http://localhost:8000/loginjson.json
{"row": [{"dblist": "datalist"}]}
但是我的组合框没有填满我在extJS的某个地方遗漏但找不到。
答案 0 :(得分:4)
如果您希望ComboBox的行为更像HTML选择字段,那么添加到您的ComboBox配置属性:
triggerAction: 'all'
这将确保在单击字段的触发按钮时显示商店中的所有商品。
ComboBox配置还需要一个valueField属性:
valueField: 'dblist'
此外,没有必要显式调用商店的加载方法。 ComboBox将在适当的时候为您处理。
答案 1 :(得分:0)
我认为您的JSON阅读器的fields属性配置不正确。试试这个:
reader: new Ext.data.JsonReader({
root: 'row'
, fields:[{name: "dblist"}]
})