我正在构建一个 PhoneGap Android 应用程序,并有一个加载了 Javascript 的 SQLLite DB。数据库已正确加载并且数据存在得到证实。
我正在为 GUI 使用 JQuery Mobile Framework。在应用程序的一个子页面上,我试图从数据库中加载元素并将它们作为列表元素打印出来 - 但是,我一直在尝试通过在开始列表标签中调用 'onload=""' 来做到这一点,没有调用任何函数 - 尝试通过一个简单的警报来执行此操作以确保正在发生某些事情,但什么也没有。
很高兴自己打印数据库结果,我只是想立即调用该函数。任何帮助,将不胜感激。下面的代码:
<div data-role="page" id="cachelist"> <!-- Start of cache list screen -->
<header data-role="header">
<h1>Cache List</h1>
<a href="#home" data-icon="home">Home</a>
</header>
<article data-role="content">
<ul data-role="listview" data-filter="true" id="cachelistList" onload="alert('test')">
</ul>
</article>
</div> <!-- End of cache list screen -->
这是 div - 你可以看到我正试图从开头打电话<ul>
。
我也尝试过调用<head>
文档中的 JS 函数,我认为这不会产生影响 - 但它在下面以防万一。
<ul onload="cacheListPrint()">
</ul>
function cacheListPrint() {
alert("Getting this far");
db.transaction(queryDBPrint, errorCB);
}
function queryDBPrint(tx) {
tx.executeSql('SELECT * FROM cache', [], querySuccessPrint, errorCB);
}
function querySuccessPrint(tx, results) {
var rows = results.rows;
var len = rows.length;
if(len > 0) {
for (var i=0; i<len; i++){
document.getElementById('cachelistList').innerHTML +=
'<li><h1>' + rows.item(i).name + '</h1></li>';
}
}
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}