2011-03-16 35 views
3

我不知道這是可能的,但我希望做幾件事情,連接排序列表不允許第一名單上排序的jQuery

我有一個連接2名排序列表。我不想對第一個列表進行排序,但我需要將這些項目拖到第二個列表中。

這裏是我的代碼

$(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> 

我也有克隆我從第一個列表中選擇了項目選項... 「助手:‘克隆’,」不會出現奏效對我來說,

任何任何想法?我可能沒有在尋找一個可排序的列表解決方案,而是通過第二個列表中的可排序列表進行拖放。

任何想法?

回答

2

首先,從HTML中的ID中移除'#',接下來使用LI項的ID來在'toArray'調用時獲取一些數據。我張貼工作示例:

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(); 

http://jsfiddle.net/CoolEsh/4XAXR/3/

+0

傳奇!這是我後,對不起,我不是故意添加#編號的ID我不得不寫的名單,因爲在我的例如他們是動態的 – 2011-03-16 13:37:20

+0

有什麼辦法從列表2再次拖到列表1? – 2011-03-16 14:00:07

+0

當然!只需將propper配置添加到$(「#list2」).sortable()。disableSelection();例如$(「#list2」).sortable({connectWith:「#list1」,<和您需要的所有配置和回調>}).disableSelection(); – CoolEsh 2011-03-16 16:51:59

相關問題