2013-03-18 5 views
2

나는 압도적 인 약간의 정보를 얻을 수있는 큰 테이블을 가지고 있습니다. 현재 필요한 항목을 쉽게 찾을 수 있도록 특정 열을 숨기거나 표시하는 버튼이 있습니다. 표시/숨기기 위해이 코드를 사용합니다.여러 변수를 자바 스크립트 함수에 전달 하시겠습니까?

<script type="text/javascript" charset="utf-8">  
function fnShowHide(iCol) 
    { 
     var oTable = $('#tablename').dataTable(); 
     var bVis = oTable.fnSettings().aoColumns[iCol].bVisible; 
     oTable.fnSetColumnVis(iCol, bVis ? false : true); 
    } 
</script> 

나중에 다음 코드를 사용하여 테이블의 특정 열을 숨기거나 표시하십시오.

<button id="button"> 
    <a href="javascript:void(0);" onclick="fnShowHide(0);">Column1</a> 
</button> 
<button id="button"> 
    <a href="javascript:void(0);" onclick="fnShowHide(1);">Column2</a> 
</button> 
<button id="button"> 
    <a href="javascript:void(0);" onclick="fnShowHide(2);">Column3</a> 
</button> 

단일 행이 아닌 여러 행을 숨기거나 표시하는 버튼 하나를 어떻게 만들 수 있습니까?

내 데이터를 표시하려면 DataTables을 사용하고 위의 버튼에 대해서는 this 예제를 사용하고 있습니다 (차이가 나는 경우).

+1

처럼 여러 값을 전달 것인가? – Raptor

+1

안녕하세요, 코드에 따르면, 숨기거나 열이 아닌 행을 표시하지 않는 것이 좋겠습니까? – OQJF

+1

@ ShivanRaptor 아마도 작동 할 것입니다. 문제는 내가 초보자이고 어떻게하는지 잘 모르겠다는 것입니다. 나는 그것에게 지금 google를 줄 것이다. – Cully

답변

8

단일 정수를 입력으로 사용하는 대신 숨기려는 행의 배열을 허용하지 않는 이유는 무엇입니까?

function fnShowHide(iCols) 
{ 
    var i, iCol; 
    var oTable = $('#tablename').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); 
    } 
} 

방금 ​​ fnShowHide([2])을 사용하는 것이 하나 개의 행을 호출하려면, 여러 행에 대해 당신은 어떻게 JS 함수에 배열을 전달 대해 fnShowHide([2,3,4])

+0

버디, 그냥 궁금한데 왜 내가 + + 1을 쓰는 건데? – OQJF

+0

아, JavaScript 린터를 사용하는 습관입니다. 어느 쪽이든 괜찮습니다. – fuzic

+0

알았어, 고마워. – OQJF

관련 문제