Ведение подсчета предметов в сортируемых списках

Мне нужно поддерживать точное количество элементов в некоторых сортируемых списках, и у меня возникают проблемы с этим. В тот момент, когда я начинаю перетаскивать из списка №1 число, которое увеличивается, и с этого момента в игре появляется дополнительный элемент. В тот момент, когда я наведу курсор на список № 2, его число увеличивается.

Пример, нажмите для скрипки:

$(function () {
    $("#ul1, #ul2").sortable({
        connectWith: ".connectedSortable"
    }).disableSelection();
  });

function update_counts() {
    var n_ul1 = $("#ul1 li").length;
    var n_ul2 = $("#ul2 li").length;
    $("#count1").html(n_ul1);
    $("#count2").html(n_ul2);
}

$(function () {
    $("#ul2,#ul1").droppable({
        over: function (ev, ui) {
            update_counts();
        },
        drop: function (ev, ui) {
            update_counts();
        }
    }).disableSelection();
});

1 ответ

Я отвечу на свой вопрос:

function update_counts() {
    var n_ul1 = $("#ul1 li").not(".ui-sortable-helper").length;
    var n_ul2 = $("#ul2 li").not(".ui-sortable-helper").length;
    $("#count1").html(n_ul1);
    $("#count2").html(n_ul2);
}

.not (". ui-sortable-helper") - это то, что было нужно.

Другие вопросы по тегам