[英]Save JQuery.Sortable results to SQL with ASP.NET MVC
我一直在寻找许多与此相关的话题,但我只是不明白。
我有一个表,可以从SQL中提取列表。 我正在使用JQuery.sortable对客户端的行进行处理。
理想情况下,我想以不同的顺序拖动和排序行,然后使用AJAX通过我的控制器将其自动保存在SQL中。
这是我的代码:
<div class="container">
<table id="example" class="table table-responsive table-striped sorted_table">
<thead>
<tr>
<th>Display Order</th>
<th>Image/Video</th>
<th>Title</th>
<th>Meta Data</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
order++;
<tr id="@item.Id">
<td>@order</td>
<td><img src="~/Images/Home/@item.Location" style="width: 100px;" /></td>
<td>@item.Title</td>
<td>@item.Meta</td>
<td>
<a href="@Url.Action("HomeBgDelete", "Admin", new {id = item.Id})">Delete</a>
</td>
</tr>
}
</tbody>
</table>
<div class="col-sm-4">@Html.ActionLink("Add Another", "HomeBG", "Admin")</div>
<div><button id="submit-list" class="btn btn-default">Save Order</button></div>
</div>
<script>
// Sortable rows
$('.sorted_table').sortable({
containerSelector: 'table',
itemPath: '> tbody',
itemSelector: 'tr',
placeholder: '<tr class="placeholder"/>',
});
</script>
我看过一种方法,该方法遍历DOM并构建新顺序的数组,然后将该数组通过AJAX调用传递给控制器以进行处理。 我尝试了其中一些代码,但没有成功。
任何帮助将是巨大的!
作为一个大概的想法(与您的问题下的评论有关),您可以遍历Sortable的更新回调中的表行。 在这里,您可以根据需要访问当前元素,获取ID,其他属性和索引。
var ids = [];
$('#example tbody').sortable({
update: function(event, ui) {
$('#example tbody tr').each( function(index) {
ids.push($(this).attr('id'));
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.