如何在jquery droppable中的.Drop事件中将$ .Get的结果附加到容器中

时间:2014-03-01 04:47:28

标签: jquery jquery-ui drag-and-drop append

在jquery Droppable中我想触发.Drop事件,并调用Ajax Get,然后附加到容器。

  1. 如何在Drop中使用Ajax $。Get然后附加到DropZoneContainer
  2. 阅读其他帖子,我看到他们删除掉掉的元素上的CSS(我需要,你能分享原因吗)
  3. 如何使其可分类 - 澄清(删除的元素,更具体地说,$。Get返回Divs,即从服务器返回,并进入2列网格,需要能够对2列网格进行排序。
  4. 此外,我应该在DropAccept
  5. 上触发此操作
  6. 我需要在删除后取消/取消事件的默认传播
  7. $("#DropZone1 #DropZone2").droppable({
       drop: function(event, ui) {
                       // do appending of server side div into the DropZone
                       // where $(this).doSomething() - 
                       // call ajax .get and append to 
                       $(this)
                        .append($.get("/some-url/" + $(ui.draggable).text(), function(response-data){ #my HTML fragment response-data }););  
                       // do something with the draggable item
                       //$(ui.draggable).doSomething();
                   }
            });
    

1 个答案:

答案 0 :(得分:1)

要发出ajax请求并将响应附加到droppable / draggable容器,可以通过设置上下文来完成,如下所示。

$(document).ready(function(){
    $("#DropZone").droppable({
        drop: function(event, ui) {
            $.ajax({
                url: '/some-url/' + $(ui.draggable).text(),
                success: function(data, status, xhr){
                    $(this).append(data);
                },
                context: this //context:ui.draggable to append to draggable container
            });
        }
    });
});

这可以在下拉时触发,因为只有在删除了已接受的拖动时,才会触发下拉是事件。另一方面,accept是一个选项,用于控制可以接受的可拖动元素的类型。有关此内容的更多信息,请参阅this