0
我有問題要獲取sqlite數據Cordova-sqlite-storage Plugin並放在Cordova應用程序的菜單。javascript push()在科爾多瓦不工作
見我的代碼的一部分:
var db = window.sqlitePlugin.openDatabase({name: "test.db", location: 'default'});
var items = [];
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM categories', [], function (tx, results) {
for (i = 0; i < results.rows.length; i++){
items.push('<li data-page="categories" data-value="'+results.rows.item(i).cat_id+'"><a href="#"><i class="fa fa-'+results.rows.item(i).cat_icon+'"></i><em>'+results.rows.item(i).cat_title+'</em></a></li>');
alert('<li data-page="categories" data-value="'+results.rows.item(i).cat_id+'"><a href="#"><i class="fa fa-'+results.rows.item(i).cat_icon+'"></i><em>'+results.rows.item(i).cat_title+'</em></a></li>');
}
}, null);
});
items.push('<li data-page="categories" data-value="aaa"><a href="#"><i class="fa fa-check"></i><em>Teste</em></a></li>');
jQuery('.menu').append(items);
的問題是items.push()中的()無法正常工作。爲什麼?
for()中的alert()正確顯示數據。
第二個items.push()正常工作。
的[可能的複製如何返回從響應異步調用?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –
你必須將「items」附加到「menu」當「結果」可用時,緊跟在事務回調中的for循環之後。 –
坦克@JoseHermosillaRodrigo for()中的append(),它的工作! –