2013-03-23 70 views
0

我用下面的代碼來切換列在表中的數組(使用數據表jQuery插件)的知名度按鈕,使每個表的列可見

function fnShowHide(iCols) 
    { 
    var i, iCol; 
    var oTable = $('#statstable').dataTable(); 

    for (i = 0; i < iCols.length; i += 1) 
     { 
     iCol = iCols[i]; 
     var bVis = oTable.fnSettings().aoColumns[iCol].bVisible; 
     oTable.fnSetColumnVis(iCol, bVis ? false : true); 
     } 
    } 

我想使它像這樣的工作。 ..

<button id="button"> 
    <a href="javascript:void(0);" onclick="fnShowHide([0,4,10,11,12,13,14,15,16,17,18]);">Simplify</a> 
</button> 

問題是...如果我有一個頁面上的多個按鈕這樣,列混合起來。

如何創建一個顯示所有列的新函數,而不管其可見性如何,甚至更好,如何使此按鈕使所有內容可見,然後關閉數組中的列?

感謝 - 這可能很簡單,但我很新的JavaScript。

+0

順便說一句,你不能代替表達'維爾京羣島? false:true'只是'!bVis'? – nnnnnn 2013-03-23 07:20:48

+0

請同時更改' mplungjan 2013-03-23 07:22:46

回答

1

如何具有下面的代碼:

<input id="myButton" value="Click Me!" /> 

$("#myButton").click(function() { 
    showAllColumns(); 
}); 

function showAllColumns() { 

    var i, iCol; 
    var oTable = $('#statstable').dataTable(); 

    var length = /* get the number of columns */; 

    for (i = 0; i < length; i += 1) { 
     iCol = i; 
     oTable.fnSetColumnVis(iCol, true); 
    } 
} 
+0

完美地工作..謝謝! – Cully 2013-03-23 07:34:11