Я подозреваю, что проблема в том, что вы используете неправильное событие. Я думаю, что в основном происходит то, что событие остановки срабатывает слишком рано или для неправильного объекта.
Я бы перечитал документы Здесь и увидел бы, есть ли более подходящее событие для того, что вы пытаетесь сделать.
Я думаю, что вы хотите что-то вроде «обновить» или «деактивировать» события.
Оба эти события сработают один раз для каждого "блока", если вы переместите элемент из одного "блока" в другой.
Обновление сработает только один раз, если перемещено в блоке
Деактивация всегда срабатывает для всех блоков.
С обновлением вы можете проверить, запускается ли событие в «неоригинальном» блоке, проверив ui.sender:
$(".items_sortable").sortable({
connectWith: '.connectedSortable',
forcePlaceholderSize: true,
update: function(event, ui){
if(ui.sender){
alert(ui.item.attr("nodeName") + " in block = " +
$(this).parent().attr("id"));
}
}
}).disableSelection();
Оповещает родительский идентификатор ТОЛЬКО при перемещении элемента в другой блок. Событие сработает для обоих блоков, но предупреждение будет отображаться только для «неоригинального».
Если вы используете AJAX для обновления информации в БД, я подозреваю, что вы хотите, чтобы событие сработало для обоих блоков:
Один раз для «оригинала», в котором сейчас отсутствует элемент, и один для «нового», который теперь получил элемент.
Я не слишком хорошо знаю, что вы делаете, или jQuery UI, поэтому я не могу быть более конкретным. Помните, документы - ваш друг.
Надеюсь, это поможет.