【发布时间】:2016-07-20 09:58:50
【问题描述】:
我正在尝试将从查询中获取的数据显示在不同的页面上,但是数据没有显示在新页面上。
表格与数据正确显示在与搜索相同的页面上,但是当我尝试更改内容以使数据显示在新页面上时它不起作用。
我使用的是 JQuery mobile,所以它是一个单页结构(index.html 下的所有页面),我将所有的 javascript 放在一个单独的文件中。
谁能看到这里的问题?
获取数据函数:
function fetchEvent()
{
db = window.openDatabase("SoccerEarth", "2.0", "SoccerEarthDB", 2*1024*1024);
db.transaction(foundEvent, errorCB);
}
function foundEvent(tx)
{
var TitleT = document.getElementById("texttitle").value;
tx.executeSql("SELECT * FROM SoccerEvents WHERE Title LIKE '%" + TitleT + "%'", [], renderEvent);
}
function renderEvent(tx, response) {
/* var div = document.getElementById("responsediv"); */
var temp = "<table border=\"1\"><tr><th>Title</th><th>Location</th><th>NoPeople</th><th>Date</th><th>Description</th></tr>";
for (var i = 0; i < response.rows.length; i++) {
temp += "<tr><td>" + response.rows.item(i).Title + "</td><td>" + response.rows.item(i).Location + "</td><td>" + response.rows.item(i).NoPeople + "</td><td>" + response.rows.item(i).Date + "</td><td>" + response.rows.item(i).Description + "</td></tr>";
/* div.innerHTML = temp; */
}
var page6 = window.open("#page20", "mywin", '');
page6. dataFromParent = temp;
page6.render();
}
var dataFromParent;
function render() {
$('datadisplay').innerHTML(dataFromParent);
}
HTML(第 6 页):
<div data-role="page" id="page20" data-theme="d">
<div data-role="content">
<div id="datadisplay">
</div>
</div>
</div>
【问题讨论】:
-
您需要
#使用 jquery 通过 id 选择一个元素 =>$('#datadisplay')还要确保在render()被调用之前尽快从您的查询中填充dataFromParent。 -
我将 elementbyid 从 responsediv 更改为 datadisplay,但没有任何变化。您还有其他问题吗?
-
log 或 alert(dataFromParent) 在 render() 中查看是否得到任何东西
-
还是什么都没有。该页面正确打开,但没有数据。所以我认为问题与在 div 中显示的数据有关,也许?
-
你能给出答案吗?
标签: javascript jquery html database cordova