【发布时间】:2016-10-22 14:57:30
【问题描述】:
我想允许用户通过拖放来重新排列表格中的列。我正在使用 jquery.dragtable.js 来允许拖放。它工作正常。现在我想在客户端存储拖放后的表格顺序并恢复onload状态。
这是我的 HTML 代码:
<table id="tblReg" class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
<th>Password</th>
<th>Email</th>
<th>Phone</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
<td>545trt574</td>
<td>Na@email.com</td>
<td>7788994320</td>
</tr>
<tr>
<th>2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
<td>yffft5456</td>
<td>Na@email.com</td>
<td>7788994320</td>
</tr>
<tr>
<th>3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
<td>fgfhgf444</td>
<td>Na@email.com</td>
<td>7788994320</td>
</tr>
<tr>
<th>4</th>
<td>Rima</td>
<td>the Bird</td>
<td>@twitter</td>
<td>jjk8899</td>
<td>Na@email.com</td>
<td>7788994320</td>
</tr>
<tr>
<th>5</th>
<td>Sundar</td>
<td>the Bird</td>
<td>@twitter</td>
<td>76767687hjh</td>
<td>Na@email.com</td>
<td>7788994320</td>
</tr>
</tbody>
</table>
<a href="#" class="order">Get Table Order</a>
<p class="porder"></p>
jquery:
$(document).ready(function(){
$('#tblReg').each(function(){
$(this).dragtable({
placeholder: 'dragtable-col-placeholder',
items: 'thead th:not( .notdraggable ):not( :has( .dragtable-drag-handle ) ), .dragtable-drag-handle',
appendTarget: $(this).parent(),
scroll: true
});
});
$('a.order').click(function(){
console.log($('#tblReg').dragtable('order'));
var curOrder = $('#tblReg').dragtable('order');
$('.porder').text(curOrder);
return false;
});
});
插件参考:https://github.com/akottr/dragtable
允许提供获取表格顺序如下:
["#", "First Name", "Last Name", "Username", "Password", "Email", "Phone"]
现在我想将它存储在客户端(LocalStorage / Cookies)并根据保存数据重新排序 OnLoad。
如何做到这一点?我是 jquery 的新手。
【问题讨论】:
标签: javascript jquery html drag-and-drop