0

iamが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 に答える