0

ul我在排序中使用两个。我创建了可以转移li的可排序功能,ul这样他们就可以交换物品。我的问题是我无法获得 li 转移的 ul 的确切 ID。

示例场景:

当我拖动Test 1到 secondul (no2)时,它是转移,但我得到的 id 是1(这是 Test 1 来自的 ul 的原始 id)然后下一个是2(这是 Test 1 转移的 ul 的 id)。我需要的只是测试 1 传输的 ul 的 id,即2. 如何获得准确的值?

这是我的代码:

<ul class="connected list no1" id="1">
    <li style="cursor:move;" id="trans_1">Test 1</li>
    <li style="cursor:move;" id="trans_2">Test 2</li>
</ul>

<ul class="connected list no2" id="2">
    <li style="cursor:move;" id="trans_3">Other 1</li>
    <li style="cursor:move;" id="trans_4">Other 2</li>
</ul>

<script>    
    $(function() {
        $('.connected').sortable({
            connectWith: '.connected',
            dropOnEmpty: true,
            update: function(){
                 //alert($(this).parents('ul').attr('id'));
                alert($(this).attr('id'));
            }
        });
   });
</script>

额外的:

如何获取转账的id li

更新:

我需要的是获得转移的ul id位置li,反之亦然。我上面所说的只是一个示例,并不意味着我只想要id=2. 如果我Other 1在其他 ul 中转入 id 是1. 反之亦然。

4

2 回答 2

1

看看这个

$(function() {
    $('.connected').sortable({
        connectWith: '.connected',
        dropOnEmpty: true,
        receive:function(event, ui ){
            alert(ui.item.attr('id'));
        }
    });
});
于 2013-04-16T06:50:47.993 回答
0

看看你的问题是什么,你有一个共同的 css 类,这<ul> .connected就是它获得两个 id 的原因。相反,您可以只定位<ul>具有 css 类.no2bind事件的第二个sortupdate并查找其 id。

这边走:

$(function() {
   $('.connected').sortable({
     connectWith: '.connected',
     dropOnEmpty: true
   });

   $('.no2').bind('sortupdate', function(e) {
     alert(this.id);
   });
});

试试这个,看看这是否有帮助。

演示小提琴

于 2013-04-16T06:12:17.633 回答