上下文如下:我正在编写一个网页,对来自协会的人进行地理定位,并在wordpress框架内的谷歌地图上显示他们的位置。当我点击他们的标记时,我会显示一个信息窗口及其信息。在地图上,我可以使用表单过滤/搜索人员(例如,仅查看名为Paul的人)。到目前为止,这一切都在发挥作用。
我的问题如下:当我进行搜索时,我想在地图下方显示结果。因为我可以得到相当多的结果(让我们通常说100左右),我想用一些分页来展示它们。当我对一些虚拟文本进行硬编码时,我设法使用了paginator。不过,我无法对搜索结果进行分页。 如果我做
<div id="pagination"></div>
<table id="content">
<tbody>
<tr>
Paul
</tr>
</tbody>
<tbody>
<tr>
John
</tr>
</tbody>
<tbody>
<tr>
Richard
</tr>
</tbody>
<tbody>
<tr>
George
</tr>
</tbody>
</table>
<script>
jQuery(function($) {
var items = $("#content tbody tr");
var numItems = items.length;
var perPage = 5;
items.slice(perPage).hide();
$("#pagination").pagination({
items: numItems,
itemsOnPage: perPage,
cssStyle: "light-theme",
onPageClick: function(pageNumber) {
var showFrom = perPage * (pageNumber - 1);
var showTo = showFrom + perPage;
items.hide()
.slice(showFrom, showTo).show();
}
});
});
</script>
这是有效但如果我尝试动态编写&#34;内容&#34;的html。读取我的标记的属性名称,如下所示:
var pag_res = "";
document.getElementById('content').innerHTML = "";
for (mark_cnt = 0; mark_cnt < markers.length; mark_cnt++){
pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tbody></tr>";
}
document.getElementById('content').innerHTML = pag_res;
这不起作用,如果我查看控制台中的document.getElementById(&#39; content&#39;)。innerHTML,则会在关闭tbody后写入标记的描述。我有类似的东西: 保罗 约翰
任何人都不知道问题源于什么?
答案 0 :(得分:0)
我认为您可以通过编辑此行来解决问题:
pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tbody></tr>";
最后两个标签是错误的方式......它应该是:
pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tr></tbody>";
当你在那里时,你也可以整理一下你的HTML。一个表应该只有一个,你错过了你的标签...它应该更像是:
<table>
<tbody id="content">
<tr>
<td>Paul</td>
</tr>
<tr>
<td>John</td>
</tr>
<tr>
<td>Richard</td>
</tr>
<tr>
<td>George</td>
</tr>
</tbody>
</table>
请注意,我已将id =“content”移到了......您需要调整代码看起来像:
pag_res += "<tr><td>" + markers[mark_cnt].desc + "</td></tr>";