1

我正在使用 JQuery UI 1.8.3,请参阅下图了解我的页面设置。
我正在计算拖入可放置区域的项目数,但是当我将项目从 A 拖到 B 时计数不正确。例如,如果我将项目 1 拖到框 A,框 A 的计数 (#) 变为 1,但是如果我将项目 1 从 A 拖到 B,框 A 的计数仍然为 1,但我需要它减少到 0。

  +------------------------+      +-----------------------+
  | Items (Dragable items) |      | A (Droppable Area)  # |
  |------------------------|      |-----------------------|
  |  item 1                |      |                       |
  |  item 2                |      |                       |
  |  item ...              |      +-----------------------+
  |  item n                |
  |                        |      +-----------------------+
  |                        |      | B (Droppable Area)  # |
  |                        |      |-----------------------|
  |                        |      |                       |
  |                        |      |                       |
  +------------------------+      +-----------------------+

我的代码看起来像这样删除项目:

$(".dropArea").droppable({
    ...
    drop: function(event, ui) {
    $(this).append($(ui.draggable));

    // count the items in the box and update
    ...
}

当物品从盒子 A 或 B 中掉出时,减少盒子计数的正确方法是什么?请让我知道是否有任何不妥之处。

谢谢。

4

1 回答 1

1

在每个放置事件中,计算每个可放置区域中的对象数量并更新您的计数器。

像这样的东西会给你对象的数量:

$(".dropArea").each(function (index, elem) {
    $(item).find(".count").text($(this).find("div").size());
});
于 2012-12-23T02:10:08.743 回答