0

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

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 或组合框配置有什么问题吗?

4

1 回答 1

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

...

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

商店中没有名为 displayValue 的字段,因此组合框无法找到它正在寻找的值。valueField 也是如此。

于 2012-04-16T10:52:15.347 回答