2017-03-01 51 views
1

我正試圖實現具有可展開行的表。 這是我到目前爲止的代碼。帶有隱藏行的數據表 - 未捕獲TypeError:無法設置未定義的屬性'_DT_CellIndex'

<table id="something" class="table table-responsive table-condensed table-striped"> 
<thead> 
    <tr> 
     <th>Name</th> 
     <th>Status</th> 
    </tr> 
</thead> 
<tbody> 
    <?php 
    foreach ($info as $var) { 
     ?> 
     <tr data-toggle="collapse" data-target="#accordion<?php echo $var['id'] ?>" class="clickable"> 
      <td><h4><?php echo $name ?> </h4></td> 
      <td class="<?php echo $colors[array_rand($colors)] ?>">Status</td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <div id="accordion<?php echo $var['id'] ?>" class = "collapse"> 

       </div> 
      </td> 
     </tr> 
     <?php 
    } 
    ?> 
</tbody> 

表加載沒有任何問題。

我的目標是按狀態或名稱排序,並使用數據表的幾個選項。

只要我打開數據表,我得到以下錯誤:遺漏的類型錯誤:無法未定義

任何想法什麼可以導致此的設置屬性「_DT_CellIndex」?

在此先感謝。

+0

只是一個猜測:嘗試沒有colspan(並且改爲2個tds)。我敢打賭,DT正試圖爲這個「缺失」的第二個單元設置一個唯一的ID。 – Jeff

+0

這種作品...但同時產生一堆空行,我失去了手風琴的能力 – pmoreira

回答

0

我不知道爲什麼,但它似乎與「桌子」類有關。解決方案,在你的javascript代碼之後,將你的表「轉換」爲一個DataTable,你可以添加類「table-striped」,並且可以工作,像這樣:

$('#something')。addClass(「table -striped「);

1

我有同樣的事情,上面的想法都沒有解決它。這一個是有點頭痛,直到我明白了。

我的表格只有兩列,我不時使用<tr><td colspan="2"><td></tr>。該表在語法上是正確的。我正在使用colspans來分隔數據的邏輯部分。

錯誤來自於我在<td>標記上使用HTML5數據屬性的事實。具體來說就是數據順序屬性。在這種情況下,Datatabes不支持<td>標籤上的colspans。

爲了讓這個工作適合我,我用<td>標籤替換了<td colspan="2">標籤,其中包含數據順序屬性。我對接下來的行使用了相同的屬性值,以便在訂單更改時順序不會變亂。

希望能幫助別人!

+0

幹得好!他們在他們自己的論壇上有同樣的問題,請查看[這裏](https://datatables.net/forums/discussion/comment/89802/#Comment_89802),看看它是否有幫助。 –

相關問題