获得表的排序顺序

时间:2017-08-02 07:16:19

标签: javascript jquery sorting

我想保存表的排序顺序,刷新后应该对保存的状态进行排序。

我使用 Tablesorter jquery插件来排序表

我使用javascript将它们存储在localstorage中,但它存储整个表

javascript代码:

  $("#videoTable").on("sortEnd", function SaveSortOrder() {
        var table_layout = $('#videoTable')[0].innerHTML;
        localStorage.setItem("tableLayout",table_layout);
    });

HTML代码:

 <table class="table sortable" id="videoTable">
                <thead>
                    <tr valign="middle">
                        <th data-sort="name" class="tooltipPoint col-lg-4" style="text-align:left;">Name <i class="fa fa-sort" aria-hidden="true"></i></th> 
                        <th data-sort="name" class="tooltipPoint text-center" nowrap>Status <i class="fa fa-sort" aria-hidden="true"></i></th>
                        <th class="unclickable text-center">Action</th>
                    </tr>
                </thead>

                <tbody>
                       The body will be generated dynamically.
                </tbody>
 </table>

有没有办法只检索标题或只检索我们正在排序的列(表中列的索引),以便我可以根据结果修改类。

抱歉英语不好。提前致谢。

2 个答案:

答案 0 :(得分:0)

  1. 排序列。只保存哪些列如何排序(不知道如何从tablesorter获取当前排序)
  2. 在页面加载时检查是否在本地存储中保存了任何排序。
  3. 如果是,请将其与sortList一起使用。
  4. 您应该考虑添加新数据。这就是为什么你的解决方案不对。

答案 1 :(得分:0)

我不确定我是否正确理解了您的问题,但是如果您想要将一个类添加到已排序的列中,您可以在表标题级别管理该类,其中包含以下内容:

jQuery("#videoTable th.tooltipPoint").on("click",function(){
    jQuery("#videoTable th.tooltipPoint").removeClass("sorted");
    jQuery(this).addClass("sorted");
});