如何使用Ajax在不同的页面中呈现搜索结果

时间:2012-02-06 21:58:05

标签: javascript 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页面中,我如何呈现表?

提前致谢!

2 个答案:

答案 0 :(得分:0)

首先,您可能不想混合使用三种技术并尝试仅使用一种技术:

  1. 将HTML写为字符串可以用JQuery替换。例如:

    $("<div>").attr("id", "pager").append(...)   
    
  2. 通过本机javascript按ID寻址元素可以用JQuery替换。 (第一种技术更快,但这只是简单性而是使用一种技术而不是混合它们。对于inst。:

    $("#restaurant_table).html(insertedHtml);
    

    您可能想要生成这样的寻呼机:

    $("<div>").attr("id", "pager").append(...).appendTo("#restaurant_table");
    
  3. 我想你应该至少通过它的类来解决这个tableorter:

    $("table.tablesorter")
    
  4. 如果您在运行中生成结构,您可能更愿意使用“实时”活页夹而不是点击活页夹 - 点击活页夹将仅解决那些已由浏览器构建的活动:

    $("table.tablesorter tr").live("click", function(event) {...});
    

答案 1 :(得分:0)

您可能会使用POST将表/表单传递给另一页。