2015-04-17 54 views
1

我正在使用REST服務與服務器通信,並且該函數返回一個HashMap。我需要使用這個HashMap來填充組合框。我做了一個Ajax請求來檢索該HashMap(在一個JavaScript var)。現在我有了這個HashMap,我需要在組合框中添加'keys'作爲選項。在沒有商店的情況下在組合框中添加值

是否可以在不創建商店的情況下使用某些插入函數的幫助,因爲我的HashMap本身就像商店。我該如何做到這一點?

我想要做這樣的事情:

for (var field in json) { 
    combo.add(field) // Is there any function or a way by which I can do this 
} 

回答

2

也許它轉換成Ext.data.Records的陣列,並添加使用類似下面

Ext.getCmp('COMBO_ID').getStore().add([new Ext.data.Record({ 
    id: 900, 
    desc: 'qweqwe' // depends on your combo config 
    } 
)]); 

// complete 
var combo = Ext.create('Ext.form.ComboBox', { 
    fieldLabel: 'Choose State', 
    id: 'mycombo', 
    queryMode: 'local', 
    displayField: 'name', 
    valueField: 'id', 
    store: [], 
    renderTo: Ext.getBody() 
}); 
combo.getStore().add([[2, 'qweqwe']]); 
+0

在這裏,我需要建立一個商店首先? –

+0

組合定義中只有空陣列 – tomgal

+0

答案很多。我認爲這將符合我的目的。只有兩個問題,因爲我是extjs的新手。在combo.getStore()中添加兩個參數是什麼?他們是關鍵和價值嗎?其次,當我們向組合添加一些東西時,Ext.getCmp會自動調用嗎? –

相關問題