为什么我的extjs组合框没有动态填充?

时间:2009-12-24 09:37:18

标签: python django combobox extjs

这是我的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的某个地方遗漏但找不到。

2 个答案:

答案 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"}]
        })