2012-05-17 143 views
0

我有UL,有點像這樣:jQuery UI的排序

<ul id="sortable"> 
    <li data-name="name1"> 
    <li data-name="name2"> 
    <li data-name="name3"> 
</ul> 

我使用jQuery進行排序,並且我需要知道,當有某種變化,什麼是LIS的順序。我使用:

$("#sortable").sortable({ 
     axis: 'y', 
     stop: function(evt, ui){ 
      console.log($("#sortable").sortable('toArray')); 
     } 
    }); 

與「指定者」的問題是,它僅依靠該項目的唯一ID,我不能使用屬性上的LIS,至於原因。

是否有任何方法可以使數組屬性,返回一個數組屬性的數據名稱而不是ID?

感謝

回答

5

嘗試

$("#sortable").sortable('toArray', { attribute: 'data-name' }) 

Working example

+0

+1正要[這裏的源]查看(後http://code.google.com/p/寫入相同jquery-ui/source/browse/trunk/ui/jquery.ui.sortable.js) – ManseUK

+0

@ManseUK同樣在這裏。實際上並不確定這是否有效,但看到了傳遞給[方法]的選項參數(https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.sortable.js#L423) 。我假定傳遞一個對象,因爲第二個參數將以'toArray()'的參數結束。 – jaredhoyt

+1

它的工作原理 - 給答案添加了一個工作示例 – ManseUK