0
DataTables을 사용하여 표를 만듭니다.DataTables 응답 : 열이 숨겨져있을 때 행 제거
멋진 도구이지만 모든 열을 표시 할 공간이 충분하지 않은 모바일 또는 기타 소형 장치에서 눈금 열을 숨길 때 발생하는 문제가 있습니다.
문제 :
열이 숨겨져있는 경우 그리드 행을 제거. 열이 표시되면 잘 작동합니다.
표 코드 :
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Remove</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Remove</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>
<button type="button" class="btn btn-info btn-sm removeRow">Remove this row</button>
</td>
</tr>
<tr>
<td>Jena Gaines</td>
<td>Office Manager</td>
<td>London</td>
<td>30</td>
<td>2008/12/19</td>
<td>
<button type="button" class="btn btn-info btn-sm removeRow">Remove this row</button>
</td>
</tr>
</tbody>
</table>
자바 스크립트 코드 :
$(document).ready(function() {
$('#example').DataTable({
responsive: true
});
});
$(".removeRow").click(function() {
var table = $('#example').DataTable();
table.row($(this).parents('tr')).remove().draw();
});
내가 jsfiddle에 링크를 연결하고 있습니다. 열이 표시되면 명확하게 표시되고 열이 숨겨지면 열리는 것을 분명히 볼 수 있습니다.
다른 사람이 유사한 문제를 발견했는지 궁금합니다. 도움을 주시면 감사하겠습니다.
예상대로 작동하는 두 행의 제거를 누르면 바이올린에서 "나누기"란 의미를 이해하지 못합니다. – Darkrum
Nvm 무슨 뜻인지 알 겠어. 이유는 응답 성이 시작될 때 html의 구조가 변경된다는 것입니다. – Darkrum
또한 응답 할 때 더하기 아이콘을 누르면 제거 버튼이 dom에 추가됩니다. 그래서 그것에 붙어있는 어떤 사건도 없다. 그래서 두 가지 문제가 있습니다. 제거 버튼은 더 이상 제거하려는 tr의 자식이 아니며 연결된 이벤트가 없습니다. – Darkrum