无法删除正在使用javascript添加的动态添加行

无法删除正在使用javascript添加的动态添加行,javascript,jquery,html,Javascript,Jquery,Html,我创建了下面的表单来动态添加行。+按钮工作得很好,但是当我尝试从动态添加的X按钮中删除行时,它无法删除行并返回uncaughttypeerror。这涉及到javascript和jquery 运行代码段时,请向下滚动查看结果 $document.readyfunction{ var i=1; $“添加”。单击函数{ i++; $'dynamic_field'。附加'Yes NoX'; }; $document.on'click','btn_remove',函数{ var button_

我创建了下面的表单来动态添加行。+按钮工作得很好,但是当我尝试从动态添加的X按钮中删除行时,它无法删除行并返回uncaughttypeerror。这涉及到javascript和jquery

运行代码段时,请向下滚动查看结果

$document.readyfunction{ var i=1; $“添加”。单击函数{ i++; $'dynamic_field'。附加'Yes NoX'; }; $document.on'click','btn_remove',函数{ var button_id=$this.attrid; $'row'+按钮id+。删除; }; $“提交”。单击函数{ $.ajax{//在这里您可以将日期发送到DB url:name.php, 方法:邮寄, 数据:$“添加名称”。序列化, 成功:functiondata { 警报数据; $'add_name'[0]。重置; } }; }; }; 可交付成果 按+添加子项 + 是 不 jQuery的出现要比v1.4.1晚得多。尝试更新到>=v1.7或使用。无论哪种方式,您都需要将您的版本升级到至少1.4.2版,因为该版本引入了.delegate。

请尝试以下代码:

$(document).ready(function(){
         var i=1;
         $('#add').click(function(){
              i++;
              $('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="name[]" placeholder="Category" class="form-control name_list" /></td><td><input type="radio" name="inlineRadioOptions []" value="Yes &emsp;"> Yes &emsp; <label class="radio-inline"><input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="No"> No</label></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
         });
         $(document).on('click', '.btn_remove', function(){
              var button_id = $(this).attr("id");
              $('#row'+button_id+'').remove();
         });

         $('#submit').click(function(){
              $.ajax({//here you can send date to DB
                   url:"name.php",
                   method:"POST",
                   data:$('#add_name').serialize(),
                   success:function(data)
                   {
                        alert(data);
                        $('#add_name')[0].reset();
                   }
              });
         });
    });

注意:多次按+按钮可在滚动条中查看结果。行上没有id。。。你为什么要用1.4.1呢?jQuery版本已经超过7.5年了,行上的id也不一定需要。您可以使用$this.closest'tr'。删除;相反,我只是添加了这一部分。您正在尝试按ID删除行,但尚未通过此行“$”行“+按钮\u ID+。删除;”添加行还要更新jQuery版本。