我在排序中使用了两个ul
。我创建了可排序的函数,可以在其他li
中转移ul
,这样他们就可以交换项目。我的问题是我无法得到li转移的ul的确切ID。
示例场景:
当我将Test 1
拖到第二个ul (no2)
时,它会被转移,但我得到的ID是1
(这是测试1来自ul的原始ID),然后是{ {1}}(这是测试1转移的ul的id)。 我需要的只是测试1转移的ul的id,即2
。如何获得确切的值?
以下是我的代码:
2
其他:
如何获取转让的ID <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>
?
更新
我需要的是获取li
ul id
转移的地方,反之亦然。我上面所说的只是一个例子,并不意味着我只想要li
。如果我将id=2
转移到id为Other 1
的其他ul中,该怎么办?就像那样反过来。
答案 0 :(得分:1)
查看FIDDLE
$(function() {
$('.connected').sortable({
connectWith: '.connected',
dropOnEmpty: true,
receive:function(event, ui ){
alert(ui.item.attr('id'));
}
});
});
答案 1 :(得分:0)
看看你的问题是什么,你有<ul>
.connected
的共同css类,这就是为什么它获得两个id。相反,您只能定位具有css类<ul>
和.no2
事件bind
的第二个sortupdate
,并查找其ID。
这样:
$(function() {
$('.connected').sortable({
connectWith: '.connected',
dropOnEmpty: true
});
$('.no2').bind('sortupdate', function(e) {
alert(this.id);
});
});
试试这个,看看这是否有帮助。