2016-05-14 101 views
0

我想顯示/隱藏列使用開關按鈕(輸入複選框)的引導程序在DataTables ..我創建了一個功能鏈接工作顯示/隱藏列,但當我申請的類和數據列他們不複選框 ..工作 的JavaScript是這樣的:DataTables - 隱藏/顯示列

   $('.toggle-vis').on('click', function (e) { 
 
        e.preventDefault(); 
 

 
        // Get the column API object 
 
        var column = table.column($(this).attr('data-column')); 
 

 
        // Toggle the visibility 
 
        column.visible(!column.visible()); 
 
       });
<a class="toggle-vis" data-column="7">Colina</a> 
 
<input type="checkbox" data-column="0" class="toggle-vis" onchange='OnOff(this, "Carboidrati");' data-label-text="Carboidrati" checked>

+2

發佈無效的代碼,呈現的頁面不太有用 – Oliver

+0

您必須在可見性和複選框中包含您的「默認」狀態。它們充當您創建狀態變化的參考。如果你遵循基本規則,通常'切換'效果很簡單。 – Sparky256

+0

該複選框可見並且狀態被檢查 – LuigiMdg

回答

1

Wowser,這是很有趣的研究!問題是你的事件處理:以「聽」到你需要聽switchChange.bootstrapSwitch事件開關,改變你的代碼來聽那個,而不是click應該解決您的問題:

$('.toggle-vis').on('switchChange.bootstrapSwitch', function(event, state) { 
    event.preventDefault(); 
    var column = table.column(~~$(this).attr('data-column')); 
    column.visible(! column.visible()); 
}); 

工作JSFiddle,希望有所幫助。

+0

工作正常!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝!謝謝! :d – LuigiMdg