首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跟踪jQuery可排序表中所有元素的位置

跟踪jQuery可排序表中所有元素的位置
EN

Stack Overflow用户
提问于 2011-07-18 04:56:43
回答 3查看 19.2K关注 0票数 15

我正在尝试弄清楚如何跟踪jQuery可排序中的元素。假设我的排序表中有四个元素(Div),每个元素都有一个唯一的id。让我们称它们为#100,#200,#300和#400,它们是按照这个顺序呈现的。但是当我将#100移动到3号位置时,我需要能够为这个id保存新的位置,同时也要确保其他位置的值也会更新。

我说的有道理吗?基本上我想得到每个唯一id的位置,这样我就可以保存列表的顺序供以后使用。

我还没有找到可以报告可排序表中所有元素的内容,只能报告被移动的元素。

给我指个正确的方向?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-18 05:35:34

您可以使用sortable中提供的stop-event来跟踪项目。这是一个小例子;

代码语言:javascript
运行
复制
(function($) {
    $('#sortable').sortable({
        stop: function(e, ui) {
            console.log($.map($(this).find('li'), function(el) {
                return el.id + ' = ' + $(el).index();
            }));
        }
    });
})(jQuery);

这将记录可排序表中所有项的数组,以及它们的id和当前索引。

这里也有一个关于jsfiddle的工作示例:http://jsfiddle.net/beyondsanity/HgDZ9/

票数 36
EN

Stack Overflow用户

发布于 2014-12-11 21:02:07

根据文档http://api.jqueryui.com/sortable/#method-toArray,我建议您使用内置方法toArray。示例:

代码语言:javascript
运行
复制
  $(document).ready(function() {
    $('#sortable').sortable({
      stop: function(e, ui) {
        console.log($('#sortable').sortable('toArray'));
      }
    });
    $('#sortable').disableSelection();
  });
票数 5
EN

Stack Overflow用户

发布于 2011-07-18 05:33:40

可能是jQuery UI Sortable Position的副本。

基本上,要获得一个元素在一个可排序元素中的位置(或者仅仅是一个普通的老式父元素),就像这样

代码语言:javascript
运行
复制
$('#300').index();

如果没有移动任何内容,此代码将返回2 (index()从零开始计数),并在元素重新排列时更新。

这里有一个演示:http://jsfiddle.net/XB5Dh/。可以单击图元以查看其位置,拖曳图元时将显示新位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6726717

复制
相关文章

相似问题

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