Вот код
onError = function(tx, e) {
alert('Something unexpected happened: ' + e.message );
}
var webdb = openDatabase(dbName, '1.0' , dbDesc , dbSize);
var colourArray = new Array();
webdb.transaction(function(tx) {
tx.executeSql('SELECT * FROM colours',
[],
function(tx,rs) {
var ctn = rs.rows.length;
for (var i=0; i < ctn; i++) {
var row = rs.rows.item(i);
colourArray.push([row.id , row.title]);
}
},
onError);
});
/**
* the array looks like [[1,'red'],[2,'white'],[3,'black'] ...]
*/
var ColourStore = new Ext.data.ArrayStore({fields: ['key', 'val'],
data: colourArray});
Таблица "colors" содержит название цвета и хэш-код. И предполагалось, что он будет использоваться ExtJS Ext.data.ArrayStore, а затем заполнит другие выпадающие списки в массивной форме.
Моя проблема в том, что я не могу вернуть данные в виде массива. Переменная "colourArray" пуста ... Я знаю, что столкнулся с некоторым закрытием javascript, проблемой цикла ... но просто не мог понять, как вернуть значение внутреннего цикла. Попробуйте много функций return -> return -> return и больше return. Ни один из них не работает.