gpt4 book ai didi

javascript - Mvc4 将 Jquery 可排序列表项的顺序保留到 Controller

转载 作者:行者123 更新时间:2023-11-28 01:46:48 25 4
gpt4 key购买 nike

我有一个项目列表,我希望用户使用 Jquery 可排序项对其进行排序。项目的结构如下:

public class SortableItems
{

public int Code { get; set; }
public byte? Priority { get; set; }
public string Name { get; set; }
public int IsActive { get; set; }
}

在我看来,我通过以下方式在表单内呈现可排序:

            @using (Html.BeginForm("TestAction", "TestController", FormMethod.Post, new { id = "submitTest" }))
{
<ul id="sortable" style="padding:0px;">

@for (int i = 0; i < Model.List.Count(); i++)
{
<li class="ui-state-default">
@Html.HiddenFor(x => Model.List[i].Code, new { @class = "id" })
@Html.HiddenFor(x => Model.List[i].Priority, new { @class = "order" })
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
@Model.List[i].Name
</li>
}
</ul>
<input type="submit" class="btn btn-primary" value="Update" />
}

现在用户可以根据自己的意愿对列表中的 N 个项目进行排序。但我还没有找到一种方法来更新优先级的 pidden 值(用户已排序的项目的顺序)

如何将项目的顺序保留到我的 Controller ?

最佳答案

这就是我解决问题的方法:

在客户端我做了以下操作:

var neworder = new Array();

$("#sortable").disableSelection();


$("#sortable").sortable({
stop: function (event, ui) {
neworder = new Array();
$('#sortable li').each(function () {
//get the id
var id = $(this).attr("data-id");
neworder.push(id);
});
}
});


$(function () {
$('#submitTest').submit(function () {

if (neworder.length < 1) {
return false;
}
$.ajax({
url: "GuardarPrioridad", type: "POST", dataType: "json",
data: { orden: neworder.toString() },
success: function (result) {
$('#ShowResultHere').text(result);
$("#submitTest").hide();// .tex.html(result);
}
});
return false;
});
});

每次用户移动一个元素时,我都会更新一个数组,该数组包含按照用户放置元素的顺序排列的元素 ID。

然后我通过 ajax 提交这个数组, Controller 会接收它。

我的 Controller 看起来像这样:

public JsonResult SavePriority(string orden)
{
string[] data= orden.Split(',');

for (int i = 0; i < droguerias.Length; i++)
{
//save to DB

}
return Json("Saved!");
}

关于javascript - Mvc4 将 Jquery 可排序列表项的顺序保留到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20196769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com