Jquery - DIV内部的功能在刷新后无法正常工作

时间:2017-03-30 17:25:53

标签: jquery

我有一个表“group1”包含表和行。我使用这个插件(tableDnD)向上/向下拖动行,它一切正常。我有另一个Jquery函数删除DIV“group1”中的行并仅刷新DIV,这也可以正常工作。

    $('#group1').tableDnD({
    onDrop: function(table, row) {      
        $.post('updateRecord.asp?', {
            pagesid : "1",
            arr : $.tableDnD.serialize()
        }); 
    }
});

现在,删除行后,更新了DB,然后刷新了DIV,上面的jQuery选项拖动行上/下不再有效(如果我刷新整个页面,它会工作)。我做了一些研究,看到人们建议使用委托选项,但我不确定如何应用$('#group1').tableDnD函数。

更新 - 我试过了,但没有运气。

$(document).on('tableDnD', '#group1', function(){
onDrop: function(table, row) {      
    $.post('updateRecord.asp?', {
        pagesid : "1",
        arr : $.tableDnD.serialize()
    }); 
}

});

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以创建自己的活动并将其调用

 $('body').on('apply_tableDnD', '#group1', function() {
  $('#group1').tableDnD({
    onDrop: function(table, row) {
      $.post('updateRecord.asp?', {
        pagesid: "1",
        arr: $.tableDnD.serialize()
      });
    }
  });
});

这将在div刷新后调用

$('#group1').trigger('apply_tableDnD');

答案 1 :(得分:0)

更新:看起来这个问题已经被问到了 - Drag and drop not working after adding new row 请通过 meataxe 查看答案。

请查看此文档:http://api.jquery.com/on/

我不确定,但您可以像这样传递tableDnD函数:

$(document).on('tableDnD', '#group1', function(){
    // code for on drag
});