子行没有在数据表中创建

本文关键字:数据表 创建 | 更新日期: 2023-09-27 18:09:35

我试图通过使用json数据在数据表中创建子行。由于某种原因,表和子行正在用数据创建。所以我不明白问题在哪里

<div class="container">
      <table id="example" class="display" cellspacing="0" width="100%">
          <thead>
              <tr>
                  <th></th>
                  <th>Name</th>
                  <th>Position</th>
                  <th>Office</th>
                  <th>Salary</th>
              </tr>
          </thead>
          <tfoot>
              <tr>
                  <th></th>
                  <th>Name</th>
                  <th>Position</th>
                  <th>Office</th>
                  <th>Salary</th>
              </tr>
          </tfoot>
      </table>
    </div>
Javascript

    function format ( d ) {
    // `d` is the original data object for the row
    return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
        '<tr>'+
            '<td>Full name:</td>'+
            '<td>'+d.name+'</td>'+
        '</tr>'+
        '<tr>'+
            '<td>Extension number:</td>'+
            '<td>'+d.extn+'</td>'+
        '</tr>'+
        '<tr>'+
            '<td>Extra info:</td>'+
            '<td>And any further details here (images etc)...</td>'+
        '</tr>'+
    '</table>';
}
$(document).ready(function() {
    var data ={
  "data": [ {
      "name": "Michael Bruce",
      "position": "Javascript Developer",
      "salary": "$183,000",
      "start_date": "2011/06/27",
      "office": "Singapore",
      "extn": "5384"
    },
    {
      "name": "Donna Snider",
      "position": "Customer Support",
      "salary": "$112,000",
      "start_date": "2011/01/25",
      "office": "New York",
      "extn": "4226"
    }
  ]
};
 var table = $('#example').DataTable( {
      "data":data,
        "columns": [
            {
                "class":          'details-control',
                "orderable":      false,
                "data":           null,
                "defaultContent": ''
            },
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "salary" }
        ],
        "order": [[1, 'asc']]
    } );
    // Add event listener for opening and closing details
    $('#example tbody').on('click', 'td.details-control', function () {
        var tr = $(this).closest('tr');
        var row = table.row( tr );
        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
    } );
} );
这里是我的代码的数据表

子行没有在数据表中创建

数据变量是一个对象。它需要是一个数组:

var data =
[  
    {
      "name": "Tiger Nixon",
      "position": "System Architect",
      "salary": "$320,800",
      "start_date": "2011/04/25",
      "office": "Edinburgh",
      "extn": "5421"
    },
 ....
];

var data =
{ // remove 
"data":  // remove
  [  
    {
      "name": "Tiger Nixon",
      "position": "System Architect",
      "salary": "$320,800",
      "start_date": "2011/04/25",
      "office": "Edinburgh",
      "extn": "5421"
    },
   ....
  ]}; // remove closing curly bracket

示例:http://live.datatables.net/waburuz/10/edit