6
我使用ExtJS的3.4,我需要填充ComboBox數據如下:填充ExtJS的3.4組合框與本地JSON數據
"[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]"
哪個來形成以前的XMLHttpRequest,我知道了存儲在一個變量這樣:
my_variable = "[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]"
所以,我有以下的ExtJS的3.4組合框:
cbxSelDomini = new Ext.form.ComboBox({
hiddenName: 'Domini',
name: 'nom_domini',
displayField: 'nom_domini',
valueField: 'cod_domini',
mode: 'local',
triggerAction: 'all',
listClass: 'comboalign',
typeAhead: true,
forceSelection: true,
selectOnFocus: true,
store: mystore
});
這個組合箱suposed從一個Ext.data.Store獲取數據我命名「的MyStore」:
store: mystore = new Ext.data.Store({
autoload: true,
reader: new Ext.data.ArrayReader(
{
idIndex: 0 // id for each record will be the first element
}),
data: dataprova,
fields: [
{type: 'integer', name: 'cod_domini'},
{type: 'string', name: 'nom_domini'}
]
}),
我的第一個問題是,在第一種情況下,數據不會加載到數據存儲,甚至明確地告訴:mystore.loadData (my_variable);
有人可以試圖告訴我我做錯了什麼嗎?在fireBug中,我收到「this.data未定義」,「this.reader未定義」或「b未定義」和「h未定義」等錯誤。
同一種錯誤來當我改變數據格式,如JavaScript數組:
var dataexample = [[1, 'Sant Esteve de Palautordera'], [2, 'Parc Natural del Montseny']];
,並呼籲dataexample在商店的「數據」屬性。
我絕對輸了...
變量my_variable
您好,謝謝回答。按照你的例子,我已經接近了它。爲了填充組合框,我需要明確地告訴mystore.loadData(Ext.decode ...)在螢火蟲上,因爲當我加載應用程序時,它不是自動填充的。換句話說,程序會在加載應用程序時忽略mystore.loadData(Ext.decode ...)句子。我想這是因爲我在一個函數內部完成了所有這些過程。我對嗎?我該怎麼做才能解決這個問題? –
我已經解決了。非常感謝你! –
如果你已經解決了它,你可以把這個問題的答案放在我們這些人身上嗎?謝謝! –