roc*_*cky 1 javascript jquery jquery-plugins datatables jquery-datatables
我有桌子:
HTML
<table id="mydata">
<thead>
<tr>
<th>Data 1</th>
<th>Data 2</th>
<th>Data 3</th>
<th>Data 4</th>
</tr>
</thead>
<tbody>
<tr class="main">
<td class="data_1">A</td>
<td class="data_2">B</td>
<td class="data_3">C</td>
<td class="data_4">D</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
当我使用dataTable与jquery排序时:
JavaScript的
jQuery('#mydata').dataTable({
"sDom": " ",
"bPaginate": false,
"bInfo": false,
'bFilter':false,
"aoColumns": [
null,
null,
null,
null
]
});
Run Code Online (Sandbox Code Playgroud)
它奏效了.
但是,当我为main添加子行时:
HTML
<table id="mydata">
<thead>
<tr>
<th>Data 1</th>
<th>Data 2</th>
<th>Data 3</th>
<th>Data 4</th>
</tr>
</thead>
<tbody>
<tr class="main">
<td class="data_1">A</td>
<td class="data_2">B</td>
<td class="data_3">C</td>
<td class="data_4">D</td>
</tr>
<tr class="detail-header">
<td><strong>A1</strong></td>
<td><strong>B1</strong></td>
<td><strong>C1</strong></td>
<td><strong>D1</strong></td>
</tr>
<tr class="detail">
<td><strong>A2</strong></td>
<td><strong>B2</strong></td>
<td><strong>C2</strong></td>
<td><strong>D2</strong></td>
</tr>
<tr class="control">
<td colspan="2"><a href="#">Show details</a></td>
<td colspan="2"><a href="#">Hide details</a></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
在那个html:detail-header,detail和control是main的子节点,它们显示当点击显示细节时,它应该在排序时忽略,但我似乎他们也按dataTable排序所以我收到错误:
Uncaught TypeError: Cannot read property 'className' of undefined
Run Code Online (Sandbox Code Playgroud)
dataTables不接受colspans<tbody>.<tfoot>改为放置最后一行(带链接的行):
<tfoot>
<tr class="control">
<td colspan="2"><a href="#">Show details</a></td>
<td colspan="2"><a href="#">Hide details</a></td>
</tr>
</tfoot>
Run Code Online (Sandbox Code Playgroud)
演示 - > http://jsfiddle.net/71zcn578/