【问题标题】:Delete only works once删除只有效一次
【发布时间】:2019-01-19 22:29:38
【问题描述】:

这段代码有问题。

 if (attributeName == 'id') 
  {
    var loadUrl = "http://localhost:8000/OB_ViewDetails/";
    $.ajaxSetup ({
      cache: false
      });

    $("#discard").click(function(){
      var id = dataValue;
      // alert(id);

      $.ajax({
        url: 'deleteob/' + id
        // success:alert
      }).done(function(data){

        $("#obfull").load(loadUrl + ' #obfull > *', function(responseText) {
          if(responseText != '') $('#msg').append('<p class="alert alert-success">delete successful</p>')
          .children().delay(2000).fadeOut('slow');
        });

      });

    });

  }

使用 jQuery 中的 .load 函数。问题是我的数据只在第一次调用时有效,而在第二次调用时无效。

我用它从列表中删除选定的项目。来自模态。

我想要的是继续删除所选列表项的过程。

【问题讨论】:

  • dataValue 的值是多少?它在哪里以及如何产生的?
  • ID为discard的对象是否动态插入?
  • @ChayimFriedman .这是 ID 值。传递用于从 ob_details 表中选择要删除的 id
  • 每个列表项都有删除按钮。我没有传递数据的问题。我只是担心我的删除功能(按钮)第二次不起作用。我需要手动刷新才能使删除功能(按钮)起作用

标签: javascript jquery jquery-load


【解决方案1】:

委托你点击事件

$("body").on("click","#discard",function() {

var id = dataValue;
      // alert(id);

      $.ajax({
        url: 'deleteob/' + id
        // success:alert
      }).done(function(data){

        $("#obfull").load(loadUrl + ' #obfull > *', function(responseText) {
          if(responseText != '') $('#msg').append('<p class="alert alert-success">delete successful</p>')
          .children().delay(2000).fadeOut('slow');
        });

      });
 });

【讨论】:

  • 如果我使用这个 .on 会发生什么。我读过这个 .delegate() / .live() 但我不太明白..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 2015-04-23
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
相关资源
最近更新 更多