2014-10-08 4 views
3

datatable 버전 1.9.4를 사용하고 있습니다. 데이터 테이블의 fnIsDataTable 함수 사용하기 데이터 테이블이 이미 초기화되었는지 확인해야합니다. 그러나 fnIsDataTable 함수를 사용하면 항상 false를 반환합니다. 아래는 내 기능입니다.함수 fnIsDataTable은 항상 false를 반환합니다.

function getData() { 
    if ($.fn.DataTable.fnIsDataTable("#example")) { 
     $("#example").dataTable(); 
    } else { 
     $("#example").dataTable({ 
      bLengthChange": false, 
      "bFilter": true, 
      "bInfo": false, 
      "bSort": false, 
      "iDisplayLength": 50 
     }); 
    } 
} 

다른 사람이 나를 도울 수 있습니까?

답변

3

해결책을 찾았습니다. 우리는 javascript 함수 getElementById를 사용하여 해당 테이블 요소에 대한 참조를 가져온 다음 fnIsDataTable 함수에서이 참조 변수를 사용하여 해당 초기화를 확인해야합니다.

function getData() { 
 
    var ex = document.getElementById("example"); 
 
    if ($.fn.DataTable.fnIsDataTable(ex)) { 
 
    $("#example").dataTable(); 
 
    } else { 
 
    $("#example").dataTable({ 
 
     "bLengthChange": false, 
 
     "bFilter": true, 
 
     "bInfo": false, 
 
     "bSort": false, 
 
     "iDisplayLength": 50 
 
    }); 
 
    } 
 
}

+0

적합합니다. 감사! – Cheeky

0

는 다른 방법으로, V1.10 이후, 당신은 단순히 isDataTable 대신 fnIsDataTable 사용할 수 있습니다 아래처럼.

function getData() { 
 
    if ($.fn.DataTable.isDataTable("#example")) { 
 
    $("#example").dataTable(); 
 
    } else { 
 
    $("#example").dataTable({ 
 
     "bLengthChange": false, 
 
     "bFilter": true, 
 
     "bInfo": false, 
 
     "bSort": false, 
 
     "iDisplayLength": 50 
 
    }); 
 
    } 
 
}

참조 문서 : https://datatables.net/reference/api/%24.fn.dataTable.isDataTable()

+1

그는 v1.9.4를 사용 중이며, v1.10에 isDataTable()이 추가되었습니다. – Raisch

+0

@Raisch 좋은 지적. 내 말씨를 적절히 업데이트했습니다. – AntonChanning

관련 문제