2012-05-17 103 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