我有一張桌子,我想在每行下面添加一個可隱藏/可顯示的面板,以獲得比表格行更合適的更多控件和信息。我首先想到的是爲每個原始TR兄弟TR,並把一個單一的TD內以適當的合併單元格:信息面板下面TRs
<tbody>
<tr>
<td>...</td>
...
<tr>
<tr class="tablesorter-childRow">
<td colspan="4">...</td>
</tr>
...
</tbody>
每個原始行將會有一個按鈕,將隱藏()或顯示()對應的tr,並且子行中的td將包含所有不需要正常顯示的額外控件。
這會變得棘手,因爲我使用d3構建表格,並且d3不喜歡每個數據元素的多個元素(請參閱this stack post和this other thing)。
這也很棘手,因爲我使用的是tablesorter,它使用tds中的值對錶客戶端進行排序,所以原始數據必須保持表格格式。 (它可以使用css類「tablesorter-childRow」保持行對。)我也不相信我可以有多個tbody,因爲它們沒有與行一起排序 - 每個tbody的行都被排序。
我想過使用jquery在每個原始tr之後插入一個tr,但是當某些更改(因爲數據無法正確連接)時,d3不會正確更新表格,以及我使用的原因d3是因爲它使得構建許多dom元素更容易(至少對我而言)。
所以,提問時間:我還能怎麼創造這個面板
- 移動與原表中的行
- 不影響排序
- 可以顯示或隱藏?