最初のコンボでカテゴリ値を使用して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'
}
]
ありがとう