2012-05-17 4 views
0

У меня есть ули, вроде как это:JQuery UI сортировка

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

Я использую JQuery сортируется, и мне нужно знать, когда происходит смена рода, каков порядок ЛИСА. Я использую:

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

проблема с «ToArray» является то, что она опирается только на уникальных идентификаторах элементов, и я не могу использовать этот атрибут на той лилии, по причинам.

Есть ли способ сделать toArray, вернуть массив с именем данных атрибута данных вместо id?

Благодаря

ответ

5

Try

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

Смежные вопросы