【发布时间】:2020-02-03 02:21:57
【问题描述】:
我想列出从数据库表到 HTML 页面的所有数据。目前一共3行数据,但只列出了2行数据。
HTML。
<script src="lib/jquery-1.11.2.min.js"></script>
<script src="lib/jquery.mobile-1.4.5.min.js"></script>
<div class="expandable-content">
<div id="SearchResult" class="ui-content">
<table data-role="table" data-mode="reflow" class="uiresponsive" id="CoTable">
<thead>
<tr>
<th>User</th>
<th>Personnel</th>
<th>License</th>
</tr>
</thead>
<tbody id="mybody"></tbody>
</table>
</div>
</div>
JS.
function searchperson() {
var xmlhttp = new XMLHttpRequest();
var url = serverURL() + "/searchfriends.php";
url += "?userid=" + localStorage.getItem("userid") + "&search=" +
$("#search").val();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
getSearchResults(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function getSearchResults(response) {
var arr = JSON.parse(response);
var i;
$("#mybody").find("tr").remove();
for (i = 0; i < arr.length; i++) {
$("#mybody").append("<tr><td>" + arr[i].userid +
"</td><td>"
+ arr[i].personnel + "</td><td>"
+ arr[i].license + "</td></tr>");
}
$('#Results').bind('pageinit', function () {
$('#CoTable').table('refresh');
//$("#CoTable").table('refresh');
}
我希望列出所有数据,但只列出了 2 行数据。 [未捕获的错误:无法在初始化之前调用表上的方法;试图调用方法“刷新”。] 我使用了 jquery 移动页面 ID,它消除了错误,但仍然缺少数据。请帮忙,非常感谢。
【问题讨论】:
-
当页面加载时,你需要做
$("#CoTable").table()(可能的选项作为参数)来初始化表格。 -
@Barmar api 提到如果表上有
data-mode="reflow",它将自动初始化。因此,这可能更多是调用getSearchResults的时间问题。 -
@Taplar 大概是在执行搜索的 AJAX 请求的回调中调用的。所以 jquery-mobile 库应该已经加载了。
-
删除
pageinit函数。添加$('#CoTable').table('rebuild');。
标签: javascript jquery jquery-mobile jquery-mobile-table