我的页面上有两个 UL。UL1 和 UL2。两者都是可排序和可拖动的。当来自 UL1 的 LI 添加到 UL2 时,LI 移出 UL1。为了从 UL2 中删除,用户单击 LI 内的删除链接。逻辑是删除该项目,并将其从 UL2 添加回 UL1。
这是我的代码:
$(".xOut").on("click", function(){
var id = $(this).attr('id');
$.ajax({
url: '@Url.Action("RemoveCommand")',
type: "POST",
data: {
aid: id,
bId: @(Model.Id)
},
success: function(event, ui){
var newListItem = $("<li />", {
html: $("#"+id).html()
});
$(newListItem).attr("id", id);
newListItem.appendTo("#sortable1");
$("#"+id).remove();
}
});
});
如果我不添加此行,代码可以正常工作:
$(newListItem).attr("id", id);
我需要新项目有一个 id,没有它就无法工作。
如何使这项工作?
更新添加的 HTML 代码:
<ul id="sortable1" class='droptrue'>
@for (var i = 0; i < Model.SomeList.Count(); i++)
{
var item = @Model.SomeList.ElementAtOrDefault(i);
if (item != null)
{
<li id="@(item.Id)">
<div>@item.Name</div>
</li>
}
}
</ul>
<ul id="sortable2" class='droptrue'>
@for (var i = 0; i < Model.SomeAssignedList.Count(); i++)
{
var item = @Model.SomeAssignedList.ElementAtOrDefault(i);
if (item != null)
{
<li id="@(item.Id)">
<div>@item.Name</div>
</li>
}
}
</ul>