如何在laravel会话中存储tablesorter-filters?

时间:2016-11-22 12:00:21

标签: php laravel session tablesorter

基本上我有一个带过滤器的tablesorter表。 enter image description here

我想要实现的是点击的过滤器将被重新编辑,当我重新访问页面时,过滤器将自动应用于表单..

我发现我可以通过laravel的会议实现这一目标,但我不知道从哪里开始..

如何从tablesorter获取过滤器?如何将它们存储到会话中供以后使用?我以后如何将它们应用于tablesorter?

我使用Laravel 5.3 和tablesorter:http://tablesorter.com/docs/

有人可以帮我吗?

感谢任何帮助..

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以在初始化时告诉表格如何排序。

$(document).ready(function() { 
    // call the tablesorter plugin 
    $("#table").tablesorter({ 
        // set forced sort on the fourth column and i decending order. 
        sortForce: [[0,0]] 
    }); 
}); 

来源:http://tablesorter.com/docs/example-option-sort-force.html

我会得到laravel来渲染表,在你想要排序的列上有一种属性标记。

{{-- you don't have to do this in the view but I don't think it really belongs in the controller --}}
@php($columns = ['col1': 'Column heading 1', 'col2': 'Column heading 2')])

<table>
    <thead>
        @foreach($columns as $field => $column_header)
            <th {{ $field === $sort_by ? 'data-sort' : '' }}>{{ $column_header }}</th>
        @endforeach
    </thead>
    <tbody>
        @foreach($row as $item)
            <tr>
                @foreach($columns as $field => $column)
                    <th>{{ $item->get($field) }}</th>
                @endforeach
            </tr>
        @endforeach
    </tbody>
</table>

然后在jQuery中你可以检查哪个兄弟有排序标志。

$(document).ready(function() { 
    var $table = $("#table");
    var sortColumn = $table.find('th[data-sort-by]').prevAll().length;

    $table.tablesorter({ 
        // set forced sort on the fourth column and i decending order. 
        sortForce: [[sortColumn, 0]] 
    }); 
});

然后您可以使用排序顺序执行类似的操作。我认为这是正确的,但文档实际上是第二次看错了。