排序dataTable

时间:2018-06-16 20:17:28

标签: javascript laravel datatable datatables laravel-5.3

我试图在数据表中排序但是,我无法理解如何做到这一点。让我展示一下我厌倦了我的代码。

$(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>

我努力工作但却找不到我没做过的事。

1 个答案:

答案 0 :(得分:1)

我认为您需要将@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