我不知道这是否可行,但我想做一些事情,
我有两个已连接的可排序列表。我不想对第一个列表进行排序,但我需要将这些项目拖到第二个列表中。
这是我的代码
$(document).ready(function() {
$( "#webappsearchresults12267, #portfolio-ul" ).sortable({
helper: 'clone',
connectWith: ".connect",
scroll: false,
tolerance: 'intersect',
stop: function(){
var order = $("#portfolio-ul").sortable('toArray');
$("#CAT_Custom_196863").val(order);
}
})
});
<ul id="#webappsearchresults12267>
<li>item-1</li>
<li>item-2</li>
<li>item-3</li>
</ul>
<ul id="#portfolio-ul">
<li>item-4</li>
<li>item-5</li>
<li>item-6</li>
</ul>
我还可以选择克隆我从第一个列表中选择的项目... “助手:'克隆',”似乎不适合我,
任何想法?我可能不会看一个可排序的列表解决方案,而是拖放...带有第二个列表的可排序列表。
有什么想法吗?
答案 0 :(得分:2)
首先,从HTML中的ID中删除“#”,然后在调用“toArray”时使用LI项的ID来获取一些数据。我发布了工作示例:
HTML:
<ul id="list1">
<li id="ul_item_1">item-1</li>
<li id="ul_item_2">item-2</li>
<li id="ul_item_3">item-3</li>
</ul>
<br>
<br>
<ul id="list2">
<li id="ul_item_4">item-4</li>
<li id="ul_item_5">item-5</li>
<li id="ul_item_6">item-6</li>
</ul>
JS
$( "#list1" ).sortable({
helper: 'clone',
connectWith: "#list2",
scroll: false,
tolerance: 'intersect',
stop: function(){
var order = $("#list2").sortable('toArray');
alert( order );
}
}).disableSelection();
$( "#list2" ).sortable().disableSelection();