首页 > 解决方案 > 排序数据表

问题描述

我正在尝试对数据表进行排序,但是我不明白该怎么做。让我展示一下我厌倦了我的代码做什么。

$(document).ready(function() {
            $('#table').DataTable();
        } );
<script src="//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.18/css/jquery.dataTables.min.css" type="text/css" media="all" />

     <table  id="table" class="display" style="width:100%">
              <thead>
                        <tr>
                          <th>Stock</th>
                          <th>Rate</th>
                        </tr>
              </thead>

        @if($trades)
            @foreach($trades as $trade)

                  <tbody>
                    <tr>
                      <td>{{$trade->stock}}</td>
                      <td>{{$trade->rate}}</td>
                    </tr>
                  </tbody>
            @endforeach
        @endif

    </table>

我努力工作,但找不到我没有做过的事情。

标签: javascriptlaraveldatatabledatatableslaravel-5.3

解决方案


我认为你需要像这样移动你@foreach的内部<tbody>

             <tbody>
                @foreach($trades as $trade)
                <tr>
                  <td>{{$trade->stock}}</td>
                  <td>{{$trade->rate}}</td>
                </tr>
                @endforeach
             </tbody>

要使排序正常工作,您必须向 javascript 添加一个选项,如下所示:

$(document).ready(function() {
    $('#table').DataTable( {
        "order": [[ 3, "desc" ]]
    } );
} );

它将按第 4 列对您的表进行排序(因为上例中的 3 从 0 开始计算索引)以降序排列。参考 - https://datatables.net/examples/basic_init/table_sorting.html


推荐阅读