jquery - 如何检测该项目已被放入同一可排序列表中

标签 jquery jquery-ui jquery-ui-sortable

我有两个相连的可排序列表。当我将左侧列表中的一个元素拖动到右侧列表中的一个元素时,我的代码工作正常,但是如果我想知道左侧列表中项目的顺序,您能告诉我应该查找什么事件吗?当一个项目被拖放到同一列表中时(基本上是对同一列表中的项目进行重新排序,不是拖放到另一个列表,而是拖放到同一列表中)。

谢谢。

编辑:

以下是代码链接: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());
    }
});

最佳答案

您需要使用更新事件。这是我的示例(请注意,我进行了 2 个额外的函数调用来进行排序,因为您只需要左侧列表中的 evt):

$(function(){
    $( "#sortable1" ).sortable({
        connectWith: ".connectedSortable",
        update: myFunc
    });

    $( "#sortable2" ).sortable({
        connectWith: ".connectedSortable",  // deactivate:myFunc
    });

    function myFunc(event, ui){
        var b = $("#sortable1 li"); // array of sorted elems
        for (var i = 0, a = ""; i < b.length; i++)
        {
            var j=i+1; // an increasing num.
            a = a + j + ") " + $(b[i]).html() + '\n ' //putting together the items in order
        }
        alert(a)                 
    }
});

希望这有帮助。

关于jquery - 如何检测该项目已被放入同一可排序列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6424668/

相关文章:

jquery - 使用 jquery sortable 获取元素

jquery-ui - 使用 jQuery UI 在空可排序中显示占位符文本

javascript - 如何使用javascript删除和添加回表中的值

jquery - 我如何使用 animate() 滑动(向左或向右)jQuery 选项卡导航菜单?

javascript - 通过使用 jQuery .detach() 解析从 DOM 中删除和重做 div

javascript - 在渲染模板中创建按钮

jquery - 我的 jQuery UI 自动完成功能不起作用?

javascript - Jquery UI Sortable 在动态容器中不起作用

javascript - Javascript 中数组与对象数据类型的区别

Jquery : Select a table by its class, 然后在行上设置类