【发布时间】:2014-10-24 07:59:01
【问题描述】:
我正在通过Cordova 开发一个安卓应用程序。我正在从 Sqlite 表中读取值并使用 Javascript 显示到表中。
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
var tblText='<table id="t01"><tr><th>ID</th> <th>Name</th> </tr>';
var len = results.rows.length;
for (var i = 0; i < len; i++) {
tblText +='<tr onclick="alert('+results.rows.item(i).data+')"><td>' + results.rows.item(i).id +'</td><td>'+ results.rows.item(i).data+'</td></tr>';
}
tblText +="</table>";
document.getElementById("tblDiv").innerHTML =tblText;
}
..
<body>
..
<div id="tblDiv"></div>
..
</body>
..
'results.rows.item(i).data' 显示我在 '' 标签中使用它时的数据。但是alert这个部分永远不会弹出对话框:
<tr onclick="alert('+results.rows.item(i).data+')"><td>'
我知道如果我这样做,onClick 会显示 i
<tr onclick="alert('+ i +')"><td>'
但我不知道为什么它不显示 results.rows.item(i).data 或 results.rows.item(i).data.toString()
有什么想法吗?
【问题讨论】:
-
你不能那样做(results.rows.item(i).data
outside querySuccess function) 分配一些变量或分配给一些字段得到那个值。 -
你需要使用
JSON.stringify()函数。例如JSON.stringify(results.rows.item(i).data)获取值。 -
@frank 我应该这样使用它>
'<tr onclick="alert('+JSON.stringify(results.rows.item(i).data)+')"><td>'?
标签: javascript android sqlite cordova