2016-11-26 17 views
0
<table data-role="table" id="statement" data-mode="columntoggle" class="ui-body-d ui-shadow table-stripe ui-responsive" data-column-btn-theme="b" data-column-btn-text="Headings" data-column-popup-theme="a"> 
<thead> 
    <tr class="ui-bar-d"> 
    <th data-priority="1">Category</th> 
    <th data-priority="5">Date</th> 
    <th data-priority="1">Debit</th> 
    <th data-priority="1">Credit</th> 
    <th data-priority="1">Balance</th> 
    </tr> 
</thead> 
<tbody> 
</tbody> 
</table> 

下面是我如何填充AJAX表。JQM響應表問題

$.each(data, function(index, item) { 
     $("#statement").append("<tr>"+ 
          "<td>" + item.category + "</td>"+ 
          "<td>" + item.transaction_date + "</td>"+ 
          "<td>" + item.debit + "</td>"+ 
          "<td>" + item.credit + "</td>"+ 
          "<td>" + item.Balance + "</td>"+ 
          "</tr>"); 
     }); 

的代碼工作正常,但我的問題是,當我選擇列隱藏,只有日在THEAD消失,但在TBODY在TD沒有。換句話說,效果只發生在頭部而不是身體部分。 tbody部分在列消失的情況下保持不變。

我還注意到,當我手動填充表,而無需使用AJAX,當我選擇要隱藏的列,效果發生在THEAD部分和TBODY部分兩者。這意味着它工作正常時,我手動填充表而不使用AJAX。我認爲這個問題可能與DOM有關。

任何人都可以幫我解決這個問題。

+0

誰能請幫助這個傢伙。我一直在試圖解決這個問題。 –

回答

0

首先,新行追加到表體,不表 其次,追加行之後,告訴表格小部件rebuild

$.each(data, function(index, item) { 
    $("#statement tbody").append("<tr>"+ 
           "<td>" + item.category + "</td>"+ 
           "<td>" + item.transaction_date + "</td>"+ 
           "<td>" + item.debit + "</td>"+ 
           "<td>" + item.credit + "</td>"+ 
           "<td>" + item.Balance + "</td>"+ 
           "</tr>"); 
    }); 
    $("#statement").table("rebuild"); 

DEMO