javascript - 可拖动连接到可排序

标签 javascript jquery jquery-ui jquery-ui-draggable jquery-ui-sortable

我希望能够将项目从一个 Infragistics DataGrid 拖动到另一个,同时目标网格中的项目也可以排序。

不幸的是,我无法使用 jsfiddle,因为我无法使用那里的基础设施控件。

$("[id*=sourceGrid] [id*=dataTbl] tbody tr").draggable({
   helper: "clone",
   revert: "invalid",
   connectToSortable: '[id*=destination]'                   
});

$("[id*=destinationGrid]").sortable({
   cursor: 'move',
   helper: fixHelperModified,    
   revert: true,
   items: "[id*=container] [id*=dataTbl] tbody tr:not(.placeholder)",                
   receive: function (event, ui) {                    
      var grid = $IG.WebDataGrid.find("destinationGrid");                   
      $sentence = $(ui.item).find("td").eq(0).html();
      var row = new Array(Math.floor((Math.random() * 100) + 1), $sentence, $order);
      grid.get_rows().add(row);                  
  }
});

问题是:当我将项目从sourceGrid拖放到destinationGrid时,我不希望将可拖动的元素放置到新的网格中 - 我只想使用接收函数在网格中创建一个新行可拖动元素的值。现在,我得到了两个 - 新创建的 gridRow 和删除的项目。我怎样才能防止这种情况发生?

最佳答案

您可以在 beforeStop 事件中捕获复制的项目。

var newItem;

$(".list").sortable({
  connectWith: ".list",
  beforeStop: function (event, ui) { 
      newItem = ui.item;
  },
  receive: function(event,ui) {
      $(newItem).doSomething();
  }
});​

引用此答案:https://stackoverflow.com/a/5864644/3523694

关于javascript - 可拖动连接到可排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24245557/

相关文章:

javascript - 使用相同的对称 key 加密小字符串的嵌套映射

javascript - 错误未捕获语法错误 : Unexpected token <

javascript - 在离开我的网站时点击 Facebook 跟踪像素

javascript - 拖放到缩放的元素上

jquery - 彼此相当大的两个分区

jquery-ui下拉菜单样式

c# - 隐藏字段不在 MVC 中存储某些值

javascript - 如何用JavaScript的append()替换jQuery的append()

javascript - 如何在 JavaScript 中从数字中减去像素?

javascript - 使用 jQuery 日期选择器动态填充下拉列表