首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拖放元素时获取元素在列表中的位置(ui.sortable)

拖放元素时获取元素在列表中的位置(ui.sortable)
EN

Stack Overflow用户
提问于 2010-03-14 21:15:59
回答 3查看 12.2K关注 0票数 14

我有一个像这样的可排序列表:http://jqueryui.com/demos/sortable

当元素被移动时,是否有可能获得元素在列表中的开始和结束位置?我说的是他们在列表中的位置号。

例如,如果我将元素2移动到列表中的位置5,我想将这两个数字赋给变量。

我是jQuery的新手--任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-15 01:48:07

  • demo: http://so.lucafilosofi.com/getting-the-position-of-the-element-in-a-list-when-its-drag-dropped-ui-sortable/

解决方案:

代码语言:javascript
运行
复制
$(function() {
    $('ul#sortable').sortable({
        start: function(event, ui) {
            var start_pos = ui.item.index();
            ui.item.data('start_pos', start_pos);
        },
        update: function(event, ui) {
            var start_pos = ui.item.data('start_pos');
            var end_pos = ui.item.index();
            alert(start_pos + ' - ' + end_pos);
        }
    });
});

建议下使用jQuery data()方法

票数 33
EN

Stack Overflow用户

发布于 2010-03-14 21:28:55

我相信你想要做的就是用serialize method来完成。Serialize是获取列表的新顺序。

票数 1
EN

Stack Overflow用户

发布于 2010-03-25 10:57:51

出于某种原因,ui.item.index()不适合我。

这样做了:

代码语言:javascript
运行
复制
update: function (event, ui) 
{
    var index = $('li', $(ui.item).parent()).index(ui.item);
    alert(index);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2442232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档