Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.alert消息未显示Sqlite行数据_Javascript_Android_Sqlite_Cordova - Fatal编程技术网

Javascript window.alert消息未显示Sqlite行数据

Javascript window.alert消息未显示Sqlite行数据,javascript,android,sqlite,cordova,Javascript,Android,Sqlite,Cordova,我正在通过Cordova开发一款android应用程序。我正在从Sqlite表中读取值,并使用Javascript显示到表中 function queryDB(tx) { tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB); } function querySuccess(tx, results) { var tblText='<table id="t01"><t

我正在通过
Cordova
开发一款android应用程序。我正在从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>
.. 
我知道如果我这样做,
onClick
会显示
I

<tr onclick="alert('+ i +')"><td>'
'
但我不明白为什么它不显示
results.rows.item(I).data
results.rows.item(I).data.toString()


有什么想法吗?

好的!我找到了解决办法。在深入研究我的代码后,我意识到使用这段代码:

tblText +='<tr onclick="alert('+results.rows.item(i).data+');"><td>'
因此显然
Javascript
rowdata
视为一个变量,该变量将
未定义
null
。因此,我将代码更改为:

tblText +='<tr onclick="alert("'+results.rows.item(i).data+'");"><td>'

现在它就像一个符咒

您不能像这样获取(results.rows.item(i).data
outside querySuccess function
)分配一些变量或分配给某些字段以获取值。您需要使用
JSON.stringify()
函数。e、 g
JSON.stringify(results.rows.item(i).data)
来获取值。@frank我应该这样使用它吗?
alert(rowdata); //Assume rowdata is a string from my database
tblText +='<tr onclick="alert("'+results.rows.item(i).data+'");"><td>'
alert("rowdata");