从事件接收的jQuery-UI中删除项目

时间:2012-11-28 08:55:28

标签: jquery-ui jquery-ui-sortable

我想从receive事件的jQuery-UI可排序列表中删除一个项目。我正在尝试这个:

receive: function(event, ui){
    num_of_items = num_of_items+1;                          


    if(num_of_items >= 3)
    {
        ui.item.remove();
        num_of_items = num_of_items -1;
    }
}

这会产生错误:

  

未捕获的TypeError:无法读取未定义

的属性“选项”

item.remove()似乎可以在任何其他事件上正常工作,例如beforeStop,stop等。

1 个答案:

答案 0 :(得分:1)

在接收回拨时删除项目并不是一个好主意,因为它可以用于其他回调。但你可以让它不再可以排序。以下是我的建议:

  • 使用参数items
  • 初始化您的sortable
  • 在接收回拨时,删除用于params项目的类,使其不再可排序
  • 此时在您的可排序元素上调用refresh应该是一个好主意(可能没有必要)。向该元素添加一个类,以便使用选择器轻松找到它并隐藏它(使用jQuery)
  • 然后移除项目可以很容易地安全延期,并在您的停止或之前的回调中调用清理

希望它适合你!