combobox不显示ext.data.arraystore中的数据

时间:2012-04-16 09:43:39

标签: ajax extjs autocomplete

我使用Ext.form.combobox执行自动完成搜索,我的数据存储在数组存储:ext.data.arraystore中,实际上数组存储中的数据是通过ajax请求加载的,这是我的arraystore代码:

var ds = new Ext.data.ArrayStore({
    fields: ['description','lat','lng'],
    data: xmlarray
});

其中xmlarray是一个使用ajax请求从php服务器加载的数据数组

这是我的组合框代码:

   var timePanel = {
        xtype: 'panel',
        border: false,
        width: 600,
        bodyPadding: 10,
        layout: 'anchor',

        items: [{
        xtype:'combo' ,
        displayField:'displayValue',
        valueField: 'id',
        store: ds,
        mode: 'local',
        typeAhead: true,
        triggerAction: 'all',
        hideTrigger:false,
        lazyRender: true,
        emptyText: 'select a city',
        forceSelection: false,
        typeAhead: true,
        selectOnFocus: true,
        enableKeyEvents:true,

         listConfig: {
            loadingText: 'Searching...',
            emptyText: 'No matching posts found.',

            // Custom rendering template for each item
            getInnerTpl: function() {
                return '<div class="search-item">' +
                    '<h3><span>{[Ext.Date.format(values.lastPost, "M j, Y")]}<br />by {author}</span>{title}</h3>' +
                    '{excerpt}' +
                '</div>';
            }
        },
          pageSize: 10,
          //listeners:  {select: this.GeocoderRequest};

            }

            ]
    };

我的主要问题是组合框向我显示了一组空的选择行,而每个选择行应该显示我的数据中的名称但是它是空的而不是..我的arrastore或组合框配置中有任何问题吗? / p>

1 个答案:

答案 0 :(得分:1)

fields: ['description','lat','lng'],

...

displayField:'displayValue',
valueField: 'id',

商店中没有名为displayValue的字段,因此组合框找不到它要查找的值。 valueField也是如此。