如何将 JavaScript 数据传递给 jQuery DataTables

How to pass JavaScript data to jQuery DataTables

尝试在 table 中插入和显示 JSON 时,我感到非常沮丧。我正在使用 jQuery DataTable 来完成它。

我有以下 jQuery 和 HTML 代码但没有成功:

<table id="sectorsTable">
    <thead>
        <tr>
            <th><b>Numero</b></th>
            <th><b>Nombre</b></th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

<script>
var jsonArray = { layersSelected: temporaryArraySectors };
var jsonString = JSON.stringify(jsonArray, null, 2);

$('#sectorsTable').dataTable({ 
    'ajax': jsonString
});
</script>

对了,vars的内容是:

temporaryArraySectors = [ [19,"Cordillera"], [10,"Guaiquillo"], [34,"Zapallar"], [27,"Rural Poniente"], [1,"Aguas Negras"], [24,"La Obra"], [28,"Rural Sur"] ];
jsonString = '{"layersSelected": [ [19,"Cordillera"], [10,"Guaiquillo"], [34,"Zapallar"], [27,"Rural Poniente"], [1,"Aguas Negras"], [24,"La Obra"], [28,"Rural Sur"] ] }';

怎么了?

您不需要使用 JSON.stringify 创建 JSON 字符串,只需将 data 选项设置为 temporaryArraySectors.

有关代码和演示,请参见下面的示例。

$(document).ready(function() {

  var temporaryArraySectors = [ [19,"Cordillera"], [10,"Guaiquillo"], [34,"Zapallar"], [27,"Rural Poniente"], [1,"Aguas Negras"], [24,"La Obra"], [28,"Rural Sur"] ];
  
  var table = $('#sectorsTable').DataTable({
    data: temporaryArraySectors 
  });

});
<!DOCTYPE html>
<html>

<head>
  <meta charset="ISO-8859-1">

  <link href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css" rel="stylesheet" />
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
  <script src="http://vitalets.github.com/x-editable/assets/mockjax/jquery.mockjax.js"></script>

</head>

<body>
  <table id="sectorsTable" class="display">
     <thead>
         <tr>
             <th><b>Numero</b></th>
             <th><b>Nombre</b></th>
         </tr>
     </thead>
     <tbody>
     </tbody>
  </table>
</body>

</html>