如何检测该项目已被放入同一可排序列表中
我有两个连接的可排序列表。当我将左侧列表中的一个元素拖动到右侧列表中的一个元素时,我的代码工作正常,但是如果我想知道左侧列表中项目的顺序,您能告诉我应该查找什么事件吗?当一个项目被拖放到同一列表中时(基本上是对同一列表中的项目进行重新排序,不是拖放到另一个列表,而是拖放到同一列表中)。
谢谢。
编辑:
以下是代码链接:http://jsfiddle.net /Hitman666/WEa3g/1/
因此,正如您将看到的,当项目被拖放到相反的列表中时,我会收到警报,但是当列表(例如绿色列表)获得时,我也需要一个事件重新排序。然后我需要提醒订单,例如: 4,3,2,1
HTML:
<ul id="sortable1" class="connectedSortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
<ul id="sortable2" class="connectedSortable">
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
</ul>
CSS:
#sortable1, #sortable2 { list-style-type: none; margin: 0; padding: 0; float: left; margin-right: 10px; }
#sortable1 li, #sortable2 li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
#sortable1 li{background: green;}
#sortable2 li{background: yellow;}
Javascript:
$(function() {
$("#sortable1, #sortable2").sortable({
connectWith: ".connectedSortable",
receive: myFunc
}).disableSelection();
function myFunc(event, ui) {
alert(ui.item.html());
}
});
I have two connected sortable lists. My code works fine for when I drag one element from the list on the left side to the one on the right side, but can you tell me what event should I be looking for if I want to know the order of items in the left list when an item gets dragged and dropped in the same list (basically reorder the items in the same list, not dragging and dropping to the other list but to the same).
Thank you.
Edit:
Here is the link to the code: http://jsfiddle.net/Hitman666/WEa3g/1/
So, as you will see I have an alert when items are dragged and dropped in oposite lists, but I need an event also for when the list (for example the green one) gets reordered. Then I would need to alert the order, for example: 4,3,2,1
HTML:
<ul id="sortable1" class="connectedSortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
<ul id="sortable2" class="connectedSortable">
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
</ul>
CSS:
#sortable1, #sortable2 { list-style-type: none; margin: 0; padding: 0; float: left; margin-right: 10px; }
#sortable1 li, #sortable2 li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
#sortable1 li{background: green;}
#sortable2 li{background: yellow;}
Javascript:
$(function() {
$("#sortable1, #sortable2").sortable({
connectWith: ".connectedSortable",
receive: myFunc
}).disableSelection();
function myFunc(event, ui) {
alert(ui.item.html());
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用更新事件。这是我的示例(请注意,我进行了 2 个额外的函数调用来排序,因为您只需要左侧列表中的 evt):
希望这会有所帮助。
You need to use the update event. Here is my example (notice that I made 2 extra function calls to sort since you needed the evt only on the left list):
Hope this helps.
使用此拖放js来执行此操作以及
http://www. redips.net/javascript/drag-and-drop-table-content/
它有很多事件,您可以在其上编写 js 代码或使用 ajax 调用服务器端代码
。
use this drag and drop js to do this and
http://www.redips.net/javascript/drag-and-drop-table-content/
and it has lots of events on which you can write your js code or calling server side code by using ajax..
i.e.