2014-10-27 175 views
5

我有隱藏jQuery數據表列的問題。我希望該列檢索數據,但我不希望它顯示在顯示頁面上。我想隱藏我的專欄沒有8,所以從CSS我試圖隱藏它,它給了我可摺疊的div。在jQuery數據表中隱藏列

image getting + icon on display page

下面是我對數據表和類的隱藏是「hideCol」代碼。

var userTable = $('#user').dataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax":"admin/getData.php", 
     "responsive" : true, 
     "lengthMenu": [10, 25], 
     "paginationType" : "input", 
     columns: [ 
       { data:'param0'}, 
       { data: 'param1' }, 
       { data: 'param2' }, 
       { data: 'param3' }, 
       { data: 'param4' }, 
       { data: 'param5' }, 
       { data: 'param6' }, 
       { data: 'param7'}, 
      ], 
     fnRowCallback:function(nRow,aData, iDisplayIndex, iDisplayIndexFull){ 
     var seenReportedVal =Number($('td:eq(7)', nRow).text()); 
     $('td:eq(7)', nRow).addClass('hideCol'); 
     if(seenReportedVal==0) 
     { 
     $(nRow).addClass('bold'); 
     } 
     }, 
     "columnDefs": [ 
         { "visible": false, "targets": 7 } 
        ], 
    }); 

回答

3

嘗試使用此代碼

var userTable = $('#user').dataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax":"admin/getData.php", 
     "responsive" : true, 
     "lengthMenu": [10, 25], 
     "paginationType" : "input", 
     columns: [ 
       { data:'param0'}, 
       { data: 'param1' }, 
       { data: 'param2' }, 
       { data: 'param3' }, 
       { data: 'param4' }, 
       { data: 'param5' }, 
       { data: 'param6' }, 
       { data: 'param7'}, 
      ], 
     "columnDefs": [ 
         { "visible": false, "targets": [7] } 
        ], 
    }); 
+1

我試過你的答案,它沒有工作。我試過這個評論「響應」:真正的,它開始工作。我正在使用它來使數據表達響應。再次感謝你的回答:) – 2014-10-28 11:32:02

+0

起初這個解決方案對我來說不起作用,但後來我注意到我已經在列表中留下了屬性可見:「false」,在失敗的列中失敗的嘗試。一旦我清理了我的爛攤子,這個欄目就看不見了。謝謝。 – MrsTapp 2016-01-13 16:30:23

1

您可以使用列visible財產。 我建議用引號括起對象屬性,例如「列」,「數據」或「可見」。

"columns": [ 
      { "data":'param0'}, 
      { "data": 'param1', "visible": false}, 
      { "data": 'param2'}, 
      { "data": 'param3'}, 
      { "data": 'param4'}, 
      { "data": 'param5'}, 
      { "data": 'param6'}, 
      { "data": 'param7'}, 
     ] 
1

我不知道你是否已經解決了你的問題,但由於我有同樣的問題,我會與你分享至少我的解決方案。

看起來你在響應模式下使用dataTable,所以基於此,如果你想隱藏一個列,你必須根據你的需要應用特定的css類。您應用於與該列關聯的第th個元素,並解決了您的問題。

有關不同css類的更多信息可以發現here

0

我用一些CSS解決了這個問題。可能對別人有幫助。

"aoColumnDefs": [ 
       {"sClass": "dt_col_hide", "aTargets": [3]} 
       ], 

dt_col_hide是CSS類別,它會隱藏列在這種情況下索引3。

.dt_col_hide{display: none;} 

.dt_col_hide{visibility: hidden;} 

按您的要求。