2011-11-08 76 views
0

我有一個排序的一組列表項,類似下面的...jQuery的可排序,排序多個項目通過

<ul id="item_list" class="ui-sortable"> 
    <li id="recordsArray_1">item</li>  
    <li id="recordsArray_2" class='1'>item</li> 
    <li id="recordsArray_3" class='1'>item</li> 
    <li id="recordsArray_4" class='1'>item</li> 
    <li id="recordsArray_5">item</li>  
    <li id="recordsArray_6" class='5'>item</li> 
    <li id="recordsArray_7" class='5'>item</li> 
    <li id="recordsArray_8" class='5'>item</li> 
    </ul> 

排序是在DB更新,以保持一切爲了如下。

$(document).ready(function(){ 
    $(function() { 
    $("#item_list").sortable({ opacity: 0.6, cursor: 'move', update: function() { 
    var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
    $.post("http://"+document.domain+"/includes/updateDB.php", order,function(theResponse){ 
    setClass() 
     }); 
     } 
     }); 
     }); 

     }); 

標題項永遠不會有一個類,子元素將有一個標題的類。是否有可能排序標題,它是基於類的元素?即拖動標題將拖動所有子元素,但子元素將單獨拖動。

+0

你應該讓2個不同的UL的其連接,然後讓他們排序:) –

回答

0

您可以在插件選項

$("#item_list").sortable({ opacity: 0.6, items: '.1, .5', cursor: 'move', update: function() 

,但是這不會阻止用戶最後一個元素拖放到第一個「組」(1之間recordsArray_8和2)

添加items: '.1, .5'如果你想嚴格的「無級」,你可以使用一個功能項:(似乎sadely項目並未有回調)

$("#item_list").sortable({ opacity: 0.6, items: selectSortItems("#item_list"), cursor: 'move', update: function()... 

function selectSortItems (sel) { 
    var list = []; 
    $(sel).find('li').each(function() { 
     if ($(this).attr('class')) { list.push(this) }; 
    }); 

    return list; 
} 

,這裏是a fiddle