2013-06-06 3 views
1

Так что у меня есть неупорядоченный список, который можно сортировать с помощью jQuery ui. Мне нужен атрибут приоритета данных как 1-6 (или наибольшее число) для каждого сортировки или повторного сортировки. Как бы то ни было, он устанавливает его на нагрузке и не перенастраивает его после сортировки.JQuery, each() с UI.sortable()

Я сделал для вас скрипку. Это, наверное, что-то легкое, но я не могу понять это. > (

$("#priority-list").sortable(); 
    $("#priority-list li").each(function(i){ 
    $(this).attr("data-priority", "pri-" + (i + 1)); 
}); 

Спасибо!

link for jsfiddle

+1

Вы не c используя две последние строки. Вы должны создать функцию и вызвать ее каждый раз, когда строка перемещается для повторного вычисления атрибутов. Посмотрите на документ, событие «change»: http://api.jqueryui.com/sortable/#event-change – TCHdvlp

ответ

2

Похоже, вы не выполняет код, чтобы сделать приоритизации после вас рода.

http://jsfiddle.net/3CWBt/

$(function(){ 

    $("#priority-list").sortable({ 
     stop: setPriority 
    }); 
    setPriority(); 

    function setPriority() { 
     $("#priority-list li").each(function(i){ 
      $(this).attr("data-priority", "pri-" + (i + 1)); 
     }); 
    } 

}); 
+0

Ага, конечно. Я знал, что это что-то вроде этого, спасибо! – user2459900

0
$("#priority-list").sortable({ 
    stop : function(event, ui) { 
     $("#priority-list li").each(function(i){ 
      $(this).attr("data-priority", "pri-" + (i + 1)); 
     }); 
    } 
});