2011-11-17 4 views
0

jQuery dataTables 플러그인을 사용하여 테이블 열에 삭제 링크를 포함하고 싶습니다. 나는 이것이 쉽다는 것을 확신한다. 난 아무 문제가 열을 추가하고 실제로 테이블을 제거하는 구문을 알고, 난 그냥 클릭 한 행을 모르겠다.jQuery dataTable의 어떤 행을 클릭했는지 어떻게 알 수 있습니까?

행은 UI를 통해 동적으로 추가되므로 처음에는 머리글 이외의 다른 행을 렌더링하지 않습니다.

답변

1

또 다른 예와 요소를 제거 할 ..

$("#TableID tbody").delegate("tr", "click", function() { 
    var iPos = oTable.fnGetPosition(this);//oTable is the table object itself 
    if(iPos!=null){ 
     //couple of example on what can be done with the clicked row... 
     var aData = oTable.fnGetData(iPos);//get data of the clicked row 
     var iId = aData[1];//get column data of the row 
     oTable.fnDeleteRow(iPos);//delete row 

    } 

});

1

나는 각 행에 대한 추가 정보를 숨기거나 표시하기 위해 최근에이 작업을 수행했습니다. 여기에 내 코드의 단편이다 :

 function fnTableRowClickHandler() 
     { 
      var nTr = this; 
      var oT = $(this.parentNode.parentNode).dataTable() 

      if ($(this).hasClass('highlighted')) 
      { 
       /* This row is already open - close it */ 
       oT.fnClose(this); 
       $(this).removeClass('highlighted') 
      } 
      else 
      { 
       /* Open this row, if it's classy enough */ 
       if (oT.fnGetData(nTr) == null) return; 

       $(this).addClass('highlighted') 
       oT.fnOpen(nTr, fnFormatDetails(oT, nTr), 'listingDetails opened'); 
      } 

     } 

I는 추가 정보가 클릭 된 경우는 확장 된 행의 각 항목에 짧은 빈 확장을 추가 할 수 있기 때문에 다른 사람에 널 (null)에 대하여 그 수표를 추가했다.

나중에 테이블에 처리기를 추가 :

$("#TableId tbody tr").live('click', fnTableRowClickHandler) 
0

동적으로 각 행을 생성에 고유 ID를 할당하고 각 행의 클릭 이벤트가 해당 ID

관련 문제