how to indicate a change in list elements' order using jquery?
我正在使用可排序的jQuery。
现在我有一个列表,可以使用拖放功能了。太酷了。
我将使用列表底部的"提交"按钮来提交新订单。列表中的更改不会自动提交。
我所需要的只是以某种方式表明元素的位置已更改。我用谷歌搜索了很多。没有答案。
原始列表:
item1
item2
项目3
项目4
item5
此处提交按钮。
更改列表:我将第2项移至第3项以下,例如
item1
项目3
item2 *
项目4
item5
此处提交按钮。
我如何使用jquery中的sortable在项目2上显示符号?
我认为应该是sortable的change事件,但是我仍然不知道如何使用它,因为我是jquery中的新手。
http://docs.jquery.com/UI/Sortable#event-change
谢谢。
您可以为
1 2 3 4 5 6 7 | $(function() { $("#sortableList").sortable({ update: function(event, ui) { // Update ui.item to your requirement } }); }); |
我认为您想要做的是按顺序排列的项目列表(1.项目1、2。项目2、3。项目3),然后在移动一个项目时要对列表重新编号,对吗?因此,如果将2移到3以下,则您希望文本表示类似1. Item 1,2. Item 3,3. Item2。如果我对此表示正确,则您的代码应如下所示。首先,这是您的HTML需要的外观。
1 2 3 4 5 6 7 8 9 10 11 12 | <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看起来像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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个项目,并仅使用