簡體   English   中英

如何啟用 DataTable JS 服務器端?

[英]How do I enable DataTable JS Server Side?

我正在嘗試將 function 表作為數據表,但作為菜鳥我失敗了。 我想要搜索和分頁數據表。 任何人都可以幫忙嗎?

$(document).ready(function(){  

function fetch_data()
{
    $.ajax({
        url:"fetch.php",
        method:"POST",
        dataType:"json",
        success:function(data)
        {
            var html = '';
            for(var count = 0; count < data.length; count++)
            {
                html += '<tr>';
                html += '<td><input type="checkbox" id="'+data[count].id+'" data-name="'+data[count].name+'" data-address="'+data[count].address+'" data-gender="'+data[count].gender+'" data-designation="'+data[count].designation+'" data-age="'+data[count].age+'" class="check_box"  /></td>';
                html += '<td>'+data[count].name+'</td>';
                html += '<td>'+data[count].address+'</td>';
                html += '<td>'+data[count].gender+'</td>';
                html += '<td>'+data[count].designation+'</td>';
                html += '<td>'+data[count].age+'</td></tr>';
            }
            $('tbody').html(html);
        }
    });
}

fetch_data();

**更新:**也試過了

$('#myTable').DataTable( {
   serverSide: true,
   ajax: {
    url:"product_fetchmulti.php",
    method:"POST",
    dataType:"json",
    success:function(data)
    {
        var html = '';
        for(var count = 0; count < data.length; count++)
        {
            html += '<tr>';
            html += '<td><input type="checkbox" id="'+data[count].product_id+'" data-name="'+data[count].product_name+'" data-product_sku="'+data[count].product_sku+'" data-product_status="'+data[count].product_status+'" data-product_quantity="'+data[count].product_quantity+'" data-product_color="'+data[count].product_color+'" class="check_box"  /></td>';
            html += '<td>'+data[count].product_name+'</td>';
            html += '<td>'+data[count].product_sku+'</td>';
            html += '<td>'+data[count].product_status+'</td>';
            html += '<td>'+data[count].product_quantity+'</td>';
            html += '<td>'+data[count].product_color+'</td></tr>';
        }
        $('tbody').html(html);
    }
    }
} );

您是否在使用 DataTables 插件( https://datatables.net/ )?

如果是,我認為您不要調用數據表 function。 這就是為什么您無法搜索和分頁標簽的原因。

以下代碼使用 JQuery

//myTable is your table id
$(document).ready( function () {
    $('#myTable').DataTable();
} );

編輯:根據您的編輯,您正在嘗試在 datatable 為您執行此操作時重寫選項卡。 您只需獲取 json (使用 ajax 查詢)並設置列:

$('#myTable').DataTable( 
    { serverSide: true,
      "ajax": 
           { url:"product_fetchmulti.php",
             method:"POST",
             dataType:"json", 
           },
      "columns":
           [
              {"data" : "product_id"}
              {"data" : "product_name"} 
                 .... 
           ]
          });
});

初始化數據表的更好方法是使用此處顯示的示例:

https://www.datatables.net/examples/ajax/objects.html

讓您的 Ajax 以 Ajax 選項卡中所示的格式鏈接回顯數據,然后在各自的 C 選項卡 13 中設置您的 JavaScript 和 Z4C4AD5AD5FCA2E7A3FAAED74B。 如果您有一個查詢從數據庫返回一個對象數組,您可以像這樣回顯您的響應:

$jsonEncoded =  '{"data": ' . json_encode($result) . '}';
echo $jsonEncoded;

終於解決了

'$('tbody').html(html);之后這一行:

$('#myTable').DataTable({
"columnDefs": [
{ "searchable": true, "targets": 0 }],
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM