5
Jquery Datatables의 숨겨진 열에서 값을 가져와야합니다 (첫 번째로 표시되는 열에서). 지금까지 나는 JQuery DataTable에서 선택된 체크 박스를 사용하여 행을 가져 오는 방법
bodytable$ = $('#dataTable').dataTable({
"bJQueryUI" : true,
"bPaginate" : true,
"bSort" : false,
"bFilter": false,
"aoColumns": [{"bVisible": false},
{"bVisible": true},
{"bVisible": true},
{"bVisible": true}],
"oLanguage": {
"sEmptyTable": '',
"sInfoEmpty": '',
"sZeroRecords": ''
}
});
있어 내가
이 라인 VAR rowData 하행 = bodytable $ .fnGetData (TR)에 실패
var checkIds = [];
$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
var rowData = bodytable$.fnGetData(tr);
checkIds.push(rowData[0]);
});
alert(checkIds);
에 숨겨진 열에서 값을 받고 있어요; Firefox에서 오류 메시지를 표시하는 디버그 TypeError : a.nodeName이 정의되지 않았습니다.
숨겨진 열이 실제로 브라우저에로드 된 HTML에 나타나지 않기 때문에 DataTable API를 사용해야합니다. 선택된 체크 박스가 같은 페이지에 없을 때 데이터 값을 선택할 수 있습니다.
mainguys 응답에 이어 bVisible 속성 대신 CSS를 사용하여 열을 숨기면 원하는 결과를 얻을 수 있습니다.
var checkIds = [];
$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
checkIds.push($(tr).find('td:eq(0)').text());
});
alert(checkIds);
너는 천재 야! 트릭은 말한 것처럼 dataTable bVisible 속성 대신 CCS를 사용하여 열을 숨기는 것입니다. 이제 HTML에 열이 남고 내 질문을 편집하여 최종 솔루션을 제공했습니다. – user497087