Jquery Ui Sortable: как обнаружить каждое событие?

Это ситуация:

У меня есть простое приложение, которое использует Jquery Ui Sortable ( http://jqueryui.com/sortable/) для перетаскивания элементов между тремя разными столбцами.

Три названия столбцов:

  • Сделать
  • Работа в процессе
  • Готово

Когда я перемещаю элементы из первых двух столбцов в третьем, мне нужно изменить класс элемента (панель начальной загрузки) и сделать его зеленым (успех панели).

Каждому столбцу я назначаю значение да / нет, чтобы идентифицировать столбец Готово:

<?
    $column_done = 'no';
    if ($value_board_column['name'] == 'Done') 
    {
        $column_done = 'yes';
    }
?>

<div class="sorted" data-board_done="<?= $column_done ?>">

В событии UPDATE я предупреждаю о значении готовой платы:

update: function(event, ui) 
{
    var board_done = $(this).data('board_done');
    alert( 'Board_done: ' + board_done );
}

Это ключевой момент:

Событие UPDATE вызывается два раза - два раза, когда изменяется DOM, именно тогда, когда элемент удаляется из одного столбца и вставляется в другой.

Таким образом, предупреждение появляется два раза. Первый раз, когда я вижу значение, относящееся к исходному столбцу, второй раз, когда значение ссылается на второй столбец.

Например, если переместить один элемент из TODO в ГОТОВО, в предупреждении я вижу: "нет", а затем "да".

Это вопрос:

Поскольку мне нужно только второе значение, как я могу его обнаружить?

Большое спасибо!

1 ответ

Решение

Я думаю, что вы хотите использовать событие receive().

receive: function(event, ui) 
{
    var board_done = $(this).data('board_done');
    alert( 'Board_done: ' + board_done );
}
Другие вопросы по тегам