1

如果对确认框的响应是否定的,我正在尝试取消删除功能上的可排序。这是我的可排序无序列表。

$("#items").sortable({
    remove: function(event, ui) {  
      var id = ui.item.attr("id");
      var loadUrl = "LoadItem.action";
      var removeUrl = "RemoveItem.action";

      $.getJSON(loadUrl, {"id":id}, function(data){
        if (data.passed !== undefined){
          var answer = confirm("A status exists on this item.  Remove anyways?");
          if (!answer){
            $(this).sortable('cancel');  //<-- This is where I need help
            return false;
          }
          $.post(removeUrl, {"id":id}, function(){ 
            //alert('removed'); 
          });
        }
      });
    }
  });

当我单击取消时,它会阻止我$.post(removeUrl);按预期触发,但该行项目仍会移动到另一个可排序列表。我希望它取消订单项移动。在接收事件中使用$(ui.sender).sortable('cancel');以这种方式工作,但有没有办法在删除事件中做同样的事情?

4

1 回答 1

1
$("#items").sortable({
  remove: function(event, ui) {  
  var id = ui.item.attr("id");
  var loadUrl = "LoadItem.action";
  var removeUrl = "RemoveItem.action";

  var self = this;
  $.getJSON(loadUrl, {"id":id}, function(data){
    if (data.passed !== undefined){
      var answer = confirm("A status exists on this item.  Remove anyways?");
      if (!answer){
        $(self).sortable('cancel');
        return false;
      }
      $.post(removeUrl, {"id":id}, function(){ 
        //alert('removed'); 
      });
    }
  });
}
});
于 2012-04-04T21:18:19.300 回答