Сортируемая и сбрасываемая деактивация в пользовательском интерфейсе jQuery

Я прикрепил пользовательский интерфейс jQuery, который можно сортировать и перетаскивать на несколько разных страниц на моей странице.

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

http://jsfiddle.net/jordanbaucke/W3yyk/4/

Я попытался отключить ближайший столбец «сортируемый» и повторно активировать, когда активен «выпадающий», но это не работает. Как я могу это исправить?


person jordan.baucke    schedule 03.10.2011    source источник
comment
Вы хотите, чтобы «отброшенный» элемент исчез из сортируемого столбца или остался в исходном столбце?   -  person dSquared    schedule 03.10.2011
comment
@dSquared остается в исходном столбце   -  person jordan.baucke    schedule 04.10.2011


Ответы (1)


Вам нужно будет добавить метод $.sortable('cancel') к событию "drop" $.droppable, чтобы это понравилось:

$('#droppablecolumn').droppable({
    over: function(en, ui) {
        $(this).css('background-color', 'grey');
    },

    out: function(en, ui) {
        $(this).css('background-color', 'white');
    },

    drop: function(){
        $('.column').sortable('cancel');    
    }    
});

Это должно отменить текущее событие $.sortable после того, как произошло отбрасывание.

person dSquared    schedule 03.10.2011
comment
правильно, за исключением того, что исходный столбец больше не поддается сортировке? Я попытался повторно активировать $('.column').sortable(), но он не присоединяется к этому элементу? Все остальные столбцы остаются активными?? так близко... - person jordan.baucke; 04.10.2011
comment
разобрался... эта стратегия работает намного лучше, если вы не используете "откат" - person jordan.baucke; 04.10.2011
comment
как вы это решили? У меня такая же проблема после вызова .sortable('cancel') в случае удаления, исходный столбец теряет таблицу сортировки - person albanx; 28.12.2011