0
sqliteデータを取得するには問題がありますCordova-sqlite-storage PluginとCordovaアプリのメニューに入れてください。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()は、データを正しく表示します。
2番目のitems.push()は正しく動作します。
可能な重複:あなただけのforループの後に、結果が利用可能なコールバック内のDOMの変更を扱うコードの行を移動する必要がそれを解決するために
非同期呼び出し?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –
「メニュー」に「項目」を追加する必要があります。 "結果"が利用可能なときにトランザクションコールバック内のforループの直後。 –
タンク@JoseHermosillaRodrigo for()内のappend()はうまくいった! –