DataTables는 HTML 테이블을 강력하고 유연하게 다룰 수 있는 자바스크립트 라이브러리입니다. 이 라이브러리를 사용하여 테이블의 특정 행 또는 열을 편집 가능하게 만들려면 몇 가지 단계를 따라야 합니다.
-
DataTables 초기화: DataTables 라이브러리를 사용하기 위해 테이블을 초기화해야 합니다. 아래는 기본적인 DataTables 초기화 코드입니다.
$(document).ready(function(){ $('#myTable').DataTable(); });
이 코드는
myTable
이라는 테이블을 DataTables로 변환합니다. -
편집 가능한 열 설정: DataTables에서는
columns
속성을 사용하여 각 열의 편집 가능 여부를 설정할 수 있습니다. 해당 열을 편집 가능하게 만들려면editable
옵션을true
로 설정합니다. 아래는 열을 편집 가능하게 설정하는 예시입니다.$(document).ready(function(){ $('#myTable').DataTable({ columns: [ null, // 첫 번째 열은 편집 불가능 { editable: true }, // 두 번째 열은 편집 가능 { editable: true } // 세 번째 열은 편집 가능 ] }); });
이 코드는 테이블의 두 번째와 세 번째 열을 편집 가능하게 설정합니다.
-
편집 기능 추가: 위의 코드에서 두 번째와 세 번째 열을 편집 가능하게 설정했지만, 실제로 편집할 수 있는 입력 필드를 추가해야 합니다. 추가할 수 있는 방법은 여러 가지가 있지만, 간단한 예시로 각 셀을 클릭하면 입력 필드가 나타나는 방식을 사용해 보겠습니다.
$(document).ready(function() { var table = $('#myTable').DataTable({ columns: [ null, { editable: true }, { editable: true } ] }); $('#myTable tbody').on('click', 'td', function() { var cell = table.cell(this); if (cell.index().column != 0 && cell.index().row != 0) { $(this).html('<input type="text" value="'+cell.data()+'">'); $(this).find('input').focus(); } }); $('#myTable tbody').on('blur', 'input', function() { var cell = table.cell($(this).closest('td')); cell.data($(this).val()); }); });
이 코드는 테이블의 각 셀을 클릭하면 입력 필드가 생성되고, 입력한 내용이 저장됩니다. 첫 번째 행과 열은 편집 불가능하도록 설정했습니다.
위의 단계를 따라하면 DataTables에서 특정 행 또는 열을 편집 가능하게 만들 수 있습니다. 더 자세한 설정과 사용법은 DataTables 공식 문서를 참조하시면 도움이 될 것입니다.
Reference:
- DataTables Official Documentation: https://datatables.net/