2013-04-12 3 views
0

Я новичок в jQuery. Я искал документацию и stackoverflow и не мог найти ответ. Мне нужно отменить последнее изменение в отсортированном списке при нажатии кнопки, и оно работает.JQuery .sortable ("cancel") - как получить элемент, который был перемещен?

Мне также нужно получить элемент (или его идентификатор), который был перенесен в предыдущее положение. Как мне это сделать?

код у меня есть:

<script type="text/javascript"> 
$(function(){ 
    $("#sortable").sortable({ 
    placeholder: "ui-state-highlight", 
    opacity: 0.6 
    }); 
    $("#cancelSort").click(function(){ 
    $("#sortable").sortable("cancel"); 
    }); 
}); 
</script> 

<button id="cancelSort">Cancel Sort</button> 

Спасибо заранее!

ответ

0

Создайте переменную, используйте stop event и установите переменную в ui.item.

$(function(){ 
    var last_el=null, 
     last_id=null; 

    $("#sortable").sortable({ 
     placeholder: "ui-state-highlight", 
     opacity: 0.6, 
     stop: function(event, ui){ 
     last_el = $(ui.item); //element 
     last_id = $(ui.item).attr('id'); //element_id 
     } 
    }); 

    $("#cancelSort").click(function(){ 
    $("#sortable").sortable("cancel"); 
    console.log(last_el, last_id); 
    }); 
}); 

DEMO: http://jsfiddle.net/dirtyd77/Tmdmq/

Примечание: Если вы не знакомы с console.log, а затем перейти к этому link.

+0

Дом, спасибо вам большое! Это прекрасно решает проблему. – user2274753

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