Jquery可排序改变元素数量?

标签 jquery jquery-ui-sortable reindex

我正在使用简单的 Jquery 可排序,用户可以拖放元素,但在每个元素上我都有一些数字,在加载屏幕上所有数字都是按顺序排列的,但我需要有人重新排序元素来自动更改该数字他的选择。这是我所拥有的工作 fiddle

http://jsfiddle.net/4bhb4z1e/

当有人移动等时,我需要第一个将数字 10 更改为 1,然后将所有其他数字重新索引?

这是现在的代码

<ol class="example">
    <li> <span>1</span>
        <ol></ol>
    </li>
    <li> <span>2</span>
        <ol></ol>
    </li>
    <li> <span>3</span>
        <ol>
            <li><span>4</span>
            </li>
            <li><span>5</span>
            </li>
            <li> <span>6</span>
                <ol>
                    <li><span>7</span>
                    </li>
                </ol>
                <ol>
                    <li><span>8</span>
                    </li>
                    <li><span>9</span>
                    </li>
                </ol>
            </li>
        </ol>
    </li>
    <li><span>10</span>
    </li>
</ol>

JS

$(function  () {
  $("ol.example").sortable()
})

更新

现在我有这样的结构 1、2、3、4、5 等。

当有人将 4 移动到第一位以将该数字更改为 1 并将所有其他数字重新排序时,我需要什么,就像我将数字 4 移动到第一个位置将其更改为 1,并且首先在新的 1 下更改该数字数字到 2 及更多

最佳答案

该插件有 onDrop 事件,因此您可以通过以下方式更新代码:

$(function () {
    $(".example").sortable({
        onDrop: function ($item, container, _super, event) {
            $('.example li').removeClass('dragged');
            $('.example li').removeAttr('style');
            $("body").removeClass('dragging');
            $('.example span').each(function (i) {
                var humanNum = i + 1;
                $(this).html(humanNum + '');
            });
        }
    });
});

看看Fiddle !

关于Jquery可排序改变元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839598/

相关文章:

elasticsearch - 从 Elasticsearch 的简单分析器更改为标准分析器是否需要重新索引?

php - 在不保留原始键的情况下自然地对平面数组进行排序

jQuery for 循环切换 id

javascript - 如何在删除之前设置 jquery 可排序目标列表的样式

jquery - IE7/8、jQuery ui 可排序和隐藏内容。奥

javascript - 悬停时的 jQuery 可排序列表句柄

elasticsearch - 如何在 elasticsearch 中真正重新索引数据

jquery - 如何在 jqgrid 表单编辑中保存数字输入类型的结果

javascript - jQuery html() 将大括号转换为 html 实体(有时)

javascript - Angular ui-grid 渲染的回调函数