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>
Javascriptコード:
$(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に追加されます。そのため、イベントはそれに付随していません。あなたには2つの問題があります。削除ボタンはもはや削除したいtrの子ではなく、イベントが接続されていません。 – Darkrum