如何使用Ajax在不同的页面中呈现搜索结果
How to render search results in a different page with Ajax
我有一个网页,在一个php页面中配置了搜索表单,在另一个php页中配置了带有搜索结果的表,我有以下javascript函数,可以用搜索结果渲染表:
function createRestaurantsTable() {
var table = document.createElement('table');
var str = '<table cellspacing="1" class="tablesorter">';
str += '<thead><tr><th>Nome</th><th>Morada</th><th>Distancia</th></tr></thead>';
for ( var i=0; i< restaurantArr.length; i++){
str += '<tr><td><center class="IDcell">' + restaurantArr[i].name + '</center></td><td><center>' + restaurantArr[i].address + '</center></td><td><center>' + restaurantArr[i].distance.toFixed(2) + ' m</center></td></tr>';
}
str += '</table>';
str += "<div id='pager' class='pager'>";
str += "<form>"
str += "<img src='Tools/jquery.tablesorter/addons/pager/icons/first.png' class='first'/>";
str += "<img src='Tools/jquery.tablesorter/addons/pager/icons/prev.png' class='prev'/>"
str += "<input type='text' class='pagedisplay'/>";
str += "<img src='Tools/jquery.tablesorter/addons/pager/icons/next.png' class='next'/>";
str += "<img src='Tools/jquery.tablesorter/addons/pager/icons/last.png' class='last'/>";
str += "<select class='pagesize'>"
str += "<option selected='selected' value='5'>5</option>"
str += "<option value='10'>10</option>";
str += "<option value='15'>15</option>";
str += "<option value='20'>20</option>";
str += "<option value='25'>25</option>";
str += "<option value='30'>30</option>";
str += "<option value='35'>35</option>";
str += "<option value='40'>40</option>";
str += "<option value='45'>45</option>";
str += "<option value='50'>50</option>";
str += "</select>";
str += "</form>";
str += "</div>";
document.getElementById('restaurants_table').innerHTML = str;
$("table").tablesorter({headers: { 0:{ sorter: false }, 1:{ sorter: false }, 2: { sorter: false }}, widthFixed: true ,widgets: ['zebra']}).tablesorterPager({container: $("#pager")});
$('tr').click(function(event) {
var id = $(this).find(".IDcell").html();
if(id) {
window.location = "index.php?action=register_details&details_view_id=" + id + "&operation=v";
}
});
}
我有更多的JavaScript代码,但我认为这足以说明我的问题。如果搜索表单在另一个php页面中,我该如何呈现该表?
提前感谢!
首先,您可能不希望混合使用三种技术,而尝试只使用一种:
-
将HTML写成字符串可以用JQuery代替。例如:
$("<div>").attr("id", "pager").append(...)
-
可以用JQuery替换通过本机javascript的Id寻址元素。(第一种技术更快,但这更简单,使用一种技术而不是混合它们。例如:
$("#restaurant_table).html(insertedHtml);
您可能希望生成这样的寻呼机:
$("<div>").attr("id", "pager").append(...).appendTo("#restaurant_table");
-
我想你应该至少按照它的类别来称呼表分类器:
$("table.tablesorter")
-
如果你在运行中生成结构,你可能更喜欢使用"实时"绑定器而不是点击绑定器-点击绑定器将只处理那些已经由浏览器构建的结构:
$("table.tablesorter tr").live("click", function(event) {...});
您可能会将表/表单传递给具有POST
的另一个页面。
相关文章:
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 显示可链接的搜索结果+对齐方式
- 谷歌位置服务附近搜索结果基于正确的地图中心的位置
- 为自定义网站创建JavaScript搜索框,创建显示搜索结果的弹出窗口
- 主干,如何记住搜索结果
- 为什么不'我的扩展程序不会出现在Chrome网上商店的搜索结果中
- 如何从谷歌自定义搜索下载搜索结果
- (临时)在Web应用程序中存储JSON搜索结果
- Angular JS根据搜索结果和点击事件更新DOM元素
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- 淡入淡出 Ajax 搜索结果
- PHP ajax 搜索结果搞砸了我的页面
- ajax加载搜索结果
- 使用JavaScript/Ajax优化搜索结果
- 如何使用Ajax在不同的页面中呈现搜索结果
- 尝试使用对控制器的ajax调用将搜索结果插入到表中会导致错误
- 使用AJAX在表中返回搜索结果
- 清除输入文本时如何隐藏 ajax 搜索结果