2014-06-10 90 views
0

我試圖讓我的json商店返回值setValue在我的組合框中。此json值的值是數據庫中當前選定的選項。我的this.selectedCat商店返回它正在工作的記錄的當前類別值。my.store返回所有可用的選擇選項。在組合框中的默認值作爲商店的值

var fields = { 
    fields: ['text'] 
}; 
var notfields ={ 
    fields:['category'] 
} 
this.store = new GO.data.JsonStore({ 
    url: GO.settings.modules.infoscherm.url + 'json.php', 
    baseParams:{ 
    task:'selects' 
    }, 
    root: 'results', 
    fields: fields.fields 
}); 

    this.selectedCat = new GO.data.JsonStore({ 
    url: GO.settings.modules.infoscherm.url + 'json.php', 
    baseParams: { 
    task:'currentselectedcat', 
    id:'id' 
    }, 
    root: 'results', 
    fields: notfields.fields 
}); 


    this.category = new Ext.form.ComboBox({ 
    name: 'category', 
    width: 100, 
    store: this.store, 
    fieldLabel: "Categorie", 
    displayField:'text', 
    triggerAction: 'all', 
    editable: false, 
    selectOnFocus:true, 
    value: this.selectedCat //returns [object Object] naturally 
}); 

我做錯了什麼?

回答

0

我想你需要開始監聽「Ext.data.JsonStore」的「加載」事件。 並且「load」事件的附加處理程序將包含通過使用組合框對象的「setValue」函數來選擇任何特定值的代碼...

P.S. :只有當您將組合框的「存儲」配置配置到存儲對象時,才能在組合框下拉菜單中使用存儲值,對於您的情況,您需要在「加載」事件的處理程序中實現某些邏輯。