2011-11-26 5 views
2

jQuery dataTable에서 행을 반복하는 법을 배우기가 너무 힘들어합니다.

내 테이블 ID는 "partslist"입니다. 그래서 :.

$ ($ (이) + "TD") 각 ...

큰 지방 실패 :

$("#partslist tr").each(function() { 
     $($(this) + " td").each(function() { 
      alert($(this).text()); 
     }) 
    }) 

당신은이 것을 볼 수 있습니다. 각 행의 열을 반복하고 싶습니다. 재밌지 만, dataTables 웹 사이트에있는 모든 예제를 통해 테이블에서 데이터를 쉽게 얻을 수있는 하나의 예제를 찾을 수 없습니다.

답변

2

당신은이 작업을 수행 할 수 있습니다

발견
$("#partslist tr").each(function() { 
     $(this).find("td").each(function() { 
      alert($(this).text()); 
     }) 
    }) 

TD를의 선택에 모든 TR의

또는 모든 TD의이 TR 년대의 선택 등을 사용하여 발견이

$("#partslist tr").each(function() { 
     $("td",$(this)).each(function() { 
      alert($(this).text()); 
     }) 
    }) 

범위 또는 "컨텍스트"

이 두 가지 모두 동일한 것을 수행합니다.

+1

는 $ '해야한다 ($, "TD"(이))' –

+1

캐치를 가져 주셔서 감사합니다. –

0

$(this).children('td').each... 또는 단지 $(this + ' td').each... 일 수 있습니다. 나는 을 생각 하나 중 하나는 작동합니다.

1
$("#partslist tr").each(function() { 
    $("td", this).each(function() { 
     alert($(this).text()); 
    }) 
}); 
1

jQuery DataTables 내부의 데이터를 조작하는 또 다른 장소는 fnRowCallback 내에 있습니다. 이 매개 변수는 데이터를 가져와 행 단위로 업데이트를 제공하는 이상적인 장소를 제공하는 초기화 매개 변수입니다. 내부 렌더링 함수는 이미 특정 객체를 만들고 캐싱하기 때문에 더 효율적입니다.

데이터가 렌더링 된 후 원하는 이유가 있지만 질문은 유스 케이스를 나타내지 않습니다. 다음은 노드가 DOM에 추가되기 직전에 행을 조작하는 샘플입니다.

여기 가짜 예입니다. 내 데이터가 반환되는 것을 상상해보십시오 (2D 객체이므로 인덱스로 이름으로 액세스하지 않습니다). 두 번째 열에는 부품 조건을 나타내는 문자열이 들어 있습니다. 간단하게하기 위해 New 또는 Remanufactured라는 두 가지 옵션이 있습니다. 사실은, 비록 짧은 형식의 문자열을 전달하고있어, 그래서 그것을 표시하기 전에 전체 단어로 변환 할 :

var oTable = $('#partslist').dataTable({ 
// ...other initialization parameters can go in here, too... 
    fnRowCallback: function(nRow, aData) { 
    var condition = aData[1]; // second column of the data object if it's a 2D object 
    var conditionFull = "New"; // by default, parts are in new condition 
    if (condition == "reman") { 
     conditionFull = "Remanufactured"; 
    } 
    $('td:eq(1)', nRow).text(conditionFull); // use jQuery to select the second VISIBLE (HTML) column and update the text  
    } 
}); 
+0

+1 철저한 답장을 보내 주셔서 감사합니다. 나는 이것이 유용 할 다른 유스 케이스를 가지고있다! – AKWF

관련 문제