对数据库js生成表进行排序

时间:2016-09-17 13:14:42

标签: jquery node.js ejs sortable-tables

我想创建一个使用ejs和nodes.js显示数据库信息的表。

<table class="table table-striped table-hover" id="loaded-table">
    <thead>
        <tr>
            <th>First</th>
            <th>Second</th>
            <th>Third</th>
            <th>Fourth</th>
            <th>Fifth</th>
        </tr>
    </thead>
    <tbody>
    <% for(var i=0; i < data.length; i++) { %>
        <tr>
            <td> <%= data[i].prsnl_firstName %> </td>
            <td> <%= data[i].prsnl_lastName %> </td>
            <td> <%= data[i].prsnl_city %> </td>
            <td> <%= data[i].prsnl_email %> </td>
            <td> <%= data[i].prsnl_age %> </td>
        </tr>
    <% } %>
    </tbody>
</table>

但我也希望它可以排序。就像在维基百科中一样,您点击其中一个th,表格按该列排序。 问题是,尝试使用jquery插件并不起作用,因为在执行代码时表几乎不存在。 有办法吗?

1 个答案:

答案 0 :(得分:1)

好的,您可以使用JQuery plugin(示例http://tablesorter.com/docs/),但必须确保在创建表后执行可排序行为,您必须使用方案:

1)表格是在呈现页面时创建的,在这种情况下,您需要使用document on ready

运行
$(document).ready(function(){ 
       $("#myTable").tablesorter(); 
});

2)如果您的表是在某次触发后创建的,则只需在触发后运行$("#myTable").tablesorter();或等效表。