【问题标题】:Update row in DataTables table without refresh page在不刷新页面的情况下更新 DataTables 表中的行
【发布时间】:2019-08-01 08:31:35
【问题描述】:

我的脚本有问题。

在我的表格中,每一行都有一个 url 链接,该链接打开带有电子邮件输入的模式窗口,无需刷新页面即可更改此电子邮件。

如果您只更改一行,脚本就可以了。如果我更改第二、第三等行,每个值都会被最后一个更改。

如果我刷新页面 (F5) - 脚本完美运行。

有什么帮助吗?非常感谢。

$(document).ready(function() {
  var table = $('#example').DataTable();
  
$('#example tbody').on('click', 'a', function () {
  var row = $(this).closest('tr[role="row"]');
  var data = table.row(row).data();
  
  $("#myModal").modal("show");
  $("#email").val(data[0]);
  
  $("#ulozit").click(function(){
    var novy_email = $("#email").val();
     $.ajax
     	   ({						
             method: "POST",
    	     url: "action_admin.php?action=uprava_emailu",
    	     data: { novy_email:novy_email, id:data[3] },
    	       success: function(data)
    		{
    		 table.ajax.reload();
    		 $("#myModal").modal("hide");							
    		}
    	    })		
    });
  });
});

【问题讨论】:

  • 您的 sn-p 不起作用。导入 jQuery 并发布 html

标签: javascript php jquery html datatables


【解决方案1】:

您已经嵌套了 onClick 处理程序。

每次调用第一个处理程序时都会添加第二个处理程序。 jQuery 事件模型允许在一个元素上使用多个处理程序,因此后来的处理程序不会覆盖旧的处理程序。处理程序将按照它们被绑定的顺序执行。

简而言之:不要嵌套处理程序。

【讨论】:

  • @Fajny_Kubo 不错,效果比我预期的要好。这里的正常反应总是:我该怎么做?但是你自己解决了。太棒了!
猜你喜欢
  • 2017-03-24
  • 2017-05-11
  • 2011-06-15
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多