jqm アプリケーションの Web SQL データベースからのデータを html タグに取り込もうとしています。これが私のコードです:
$("#profile").on("pageinit", function () {
db.transaction(function (transaction) {
var sql = "CREATE TABLE IF NOT EXISTS profile " +
" (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, " +
"nickname VARCHAR(100) NOT NULL," +
"tankVol VARCHAR(100) NOT NULL," +
"waterType VARCHAR(100) NOT NULL," +
"category VARCHAR(100) NOT NULL)"
transaction.executeSql(sql, undefined);
var sqlNickname = "SELECT nickname FROM profile";
transaction.executeSql(sqlNickname, undefined, function (transaction, result) {
var ul = "<ul>";
if (result.rows.length) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item;
var nickname = row.nickname;
ul += "<li>" + nickname + "</li>";
ul += "</ul>";
}
}
var $profileNickname = $("#profile div:jqmData(role=content)");
$profileNickname.html(ul);
var $nicknameContent = $profileNickname.find("ul");
$nicknameContent.listview();
}, error);
});
});
私が使用しているテーブルには常に 1 つのレコードしかないため、for ループを使用してテーブルを反復処理する必要があるかどうかはわかりません。問題は次の行にあると思います:
transaction.executeSql (sqlNickname, undefined,
テーブルは正しく機能しており、html は正しく作成されていますが、リスト項目要素では、テーブルのニックネーム列にある値ではなく、文字列「未定義」を取得しているためです。あなたの助けに感謝します!