1

最初のコンボでカテゴリ値を使用して2番目のコンボでサブカテゴリ値を表示するなど、json応答からの最初のコンボに応じて2番目のコンボを設定しようとしています。私の値はすべてjson配列の応答から来ています。ルートプロパティを動的に設定し、最初のコンボ変更関数でコントローラーに2番目のコンボボックスのストアをロードしようとしていますが、データが入力されていません。誰が問題が何であるか教えてもらえますか。どうすれば修正できますか?最初のコンボの変更機能について、以下にコードを投稿しました。

valueChange:function(combo, ewVal, oldVal,optionsVal) {
    for(var i=0;i<tempstore.getCount();i++){
          var record = tempstore.getAt(i);

//checking for user selection id  with store id 
 if(record.get('categoryId')==ewVal)         
 {
   value="category.category1.category["+i+"].subCategory.subCategory1";
tempsecondCompostore.getProxy().getReader().setRootProperty(value);    
tempsecondCompostore.load();
cmbSecond.setStore(tempsecondCompostore);

mdSecond.setDisplayField('subCategoryName');
cmdSecond.setValueField('subCategoryId');
 break;
       }
      }

これは私の 2 番目のコンボ モデルです。

Ext.define('Test.model.SubCategoryModel', {
    extend : 'Ext.data.Model',
    fields : [
     {
      name:'subCategoryName',
      type:'string'

     },
     {
      name:'subCategoryId',
      type:'string'
     }


    ]

});

これは私の 2 番目のコンボ ストアです。

Ext.define('Test.store.SubCategoryStore', {
    extend : 'Ext.data.Store',
    storeId : 'secondcombo',
    model : 'Test.model.SubCategoryModel',
    //autoLoad : 'true',
    proxy : {
        type : 'ajax',
        url : 'data.json',
        reader : {
            type : 'json',
            rootProperty:'category.category1.category[0].subCategory.subCategory1
        }
    }

});

ビュー表示中のコンボ:

xtype: 'fieldset',
            width:400,
            heigth:200,
            items: [
                {
                    xtype: 'selectfield',
                    label: 'Select',
                    store : 'secondcombo',
                    width:400,
                    heigth:200,
                    queryMode: 'local',
                    displayField :'subCategoryName',
                    valueField :'subCategoryId',
                    id:'cmbSecond'




                }
            ]

ありがとう

4

1 に答える 1