Jquery-ui - 将Sortable与Droppable相结合 - droppable函数在排序时触发

时间:2014-02-21 16:25:40

标签: jquery jquery-ui jquery-ui-sortable

我在页面上有两个可排序的无序列表,这些列表通过webservice调用填充。

其中一个列表由另一个列表填充,通过jQuery-UI draggable / droppable。

当项目被删除到第二个列表时,将调用droppable函数,该函数将更新数据库。这很好。

但是,我也希望这个列表可以排序。当我对列表进行排序时,可以调用Sortable和Droppable函数,我只想要排序。

如何排序第二个列表并且还没有调用droppable?

代码:

$("#MyDiv1 li").draggable({
    connectToSortable: "#MyDiv2",
    revert: "invalid",
    helper: function () {
       //other stuff here
    }
}).disableSelection();


$("#MyDiv2").sortable({
    connectWith: "ul",
    revert: true,
    update: function (event, ui) {
        //update new sort through webservice call
    }
}).droppable({
          tolerance: 'pointer',
          drop: function (event, ui) {
              //add dropped item through web service call
          }
      })

1 个答案:

答案 0 :(得分:0)

能够找到合适的方法,但我确信有更好的方法。

在drop函数下,我在父ID中添加了一个检查,以确保它不是MyDiv2

  var ParentID = ui.draggable.context.parentNode.id;

  if (ParentID != "MyDiv2") {

    //drop code
  }