我认为您想要做的是有一个有序的项目列表(1。项目 1、2。项目 2、3。项目 3)然后当一个项目被移动时,你想要重新编号列表,对吗?因此,如果将 2 移到 3 以下,您会希望文本显示类似 1. Item 1, 2. Item 3, 3. Item 2。如果我是正确的,您的代码看起来像这样。首先,这是您的 HTML 需要的样子。
<ul id="yourSortableListID">
<li class="renumberMe"><span class="list_num"></span> Item 1</li>
<li class="renumberMe"><span class="list_num"></span> Item 2</li>
<li class="renumberMe"><span class="list_num"></span> Item 3</li>
</ul>
你的 JavaScript 看起来像这样:
function renumberListItems() {
i = 1;
$(".renumberMe").each( function() {
$(".list_num", this).text(i + ".");
i++;
});
}
// we don't want to add the sortable until the dom is ready
$(document).ready(function() {
renumberListItems();
$("#yourSortableListID").sortable({
stop: function(event, ui) {renumberListItems();}
});
});
renumberListItems() 遍历每个 li 项目,然后在其中找到 list_num 项目,并使用i
' 值更新文本,以便对列表重新编号。我们使用stop
sortables 提供的事件(更多信息在此页面上的事件选项卡下)来执行此操作,只要用户移动项目并释放鼠标,它就会调用您提供的任何函数。