Javascript按钮在bootstrap 4中无法正常工作

Javascript按钮在bootstrap 4中无法正常工作,javascript,forms,bootstrap-4,Javascript,Forms,Bootstrap 4,我在一个模态窗体上创建动态div,用一个关闭按钮来销毁它们,到目前为止效果很好。 然后,我添加了一个按钮来添加新的div/forms项,但是这次不调用close按钮回调,而是关闭model,而不是销毁div本身。从addNewRow创建行时不调用回调函数。代码如下: console.log(“你好”); var myModal=$('exampleModal'); var myForm=$(“#示例模态#myForm”); var value=$('\35; redActorEA3').val

我在一个模态窗体上创建动态div,用一个关闭按钮来销毁它们,到目前为止效果很好。 然后,我添加了一个按钮来添加新的div/forms项,但是这次不调用close按钮回调,而是关闭model,而不是销毁div本身。从addNewRow创建行时不调用回调函数。代码如下:

console.log(“你好”);
var myModal=$('exampleModal');
var myForm=$(“#示例模态#myForm”);
var value=$('\35; redActorEA3').val();
var result=jQuery.parseJSON(值);
var记录中心=0;
for(结果中的var指数){
var obj=结果[指数];
var mydiv='';
for(obj中的var属性){
var attrName=属性;
var attrValue=obj[属性];
//myForm.append(“”+attrName+“”+attrValue+“”);
mydiv+=''+attrName+'';
}  
mydiv+='-';
myForm.append(mydiv);
RecordsCenter++;
}    
函数addNewRow(){
RecordsCenter++;
var mydiv='';
mydiv+='';
mydiv+='';
mydiv+='-';
myForm.append(mydiv);
console.log(“添加行”);
}
$('.remove me')。单击(函数(e){
控制台日志(“删除我”);
e、 预防默认值();
var fieldNum=this.id.charAt(this.id.length-1);
var fieldID=“#field”+fieldNum;
var pepeId=“#pepe”+fieldNum;
$(this.remove();
$(fieldID).remove();
$(pepeId).remove();
记录中心--;
});

马拉试验
显示模态
数据库管理
&时代;
接近 保存更改 + [{“名称”:“S”,“价格”:“20.00”},{“名称”:“M”,“价格”:“20.00”},{“名称”:“L”,“价格”:“20.00”},{“名称”:“XL”,“价格”:“20.00”},{“名称”:“2XL”,“价格”:“21.00”},{“名称”:“3XL”,“价格”:“22.00”}]
因此上面的选择器不太正确,但这里是一个工作版本。另外,您的
addNewRow()
方法不会添加名称和价格标签

console.log(“你好”);
var myModal=$('exampleModal');
var myForm=$(“#示例模态#myForm”);
var值=$('#redactorArea3').val();
var result=jQuery.parseJSON(值);
var记录中心=0;
for(结果中的var指数){
var obj=结果[指数];
var mydiv='';
for(obj中的var属性){
var attrName=属性;
var attrValue=obj[属性];
//myForm.append(“”+attrName+“”+attrValue+“”);
mydiv+=''+attrName+'';
}  
mydiv+='-';
myForm.append(mydiv);
RecordsCenter++;
}    
函数addNewRow(){
RecordsCenter++;
var mydiv='';
mydiv+='';
mydiv+='';
mydiv+='-';
myForm.append(mydiv);
console.log(“添加行”);
}
$('#myForm')。在('click','remove me',函数(e)上{
调试器;
控制台日志(“删除我”);
e、 预防默认值();
var fieldNum=this.id.charAt(this.id.length-1);
var fieldID=“#field”+fieldNum;
var pepeId=“#pepe”+fieldNum;
$(this.remove();
$(fieldID).remove();
$(pepeId).remove();
记录中心--;
});

马拉试验
显示模态
数据库管理
&时代;
接近 保存更改 + [{“名称”:“S”,“价格”:“20.00”},{“名称”:“M”,“价格”:“20.00”},{“名称”:“L”,“价格”:“20.00”},{“名称”:“XL”,“价格”:“20.00”},{“名称”:“2XL”,“价格”:“21.00”},{“名称”:“3XL”,“价格”:“22.00”}]
如何定义未被调用的事件?很可能是因为行是在添加事件之后添加的。对于动态创建的元素,您需要使用.on()将事件委托给父元素。此外,还有一个建议:如果您在问题中创建了一个(非)工作代码示例,人们将更容易为您提供帮助。在上面的代码示例中,遗漏了很多重要的细节,例如如何设置事件处理程序、HTML等。thx,我刚刚添加了完整的代码。通风口链接到bootstraps classesok,因此请注意这里的代码:
$('.remove me')。单击(…)
您正在将事件附加到从选择器返回的所有元素
$('.remove me')
,但这永远不会包括在代码行运行时还不存在的动态元素。为了绑定到将来的元素,需要将事件处理程序委托给父元素或更高级别的元素。在这种情况下,您可以尝试
$('.input group.mb-3)。在('click','上。删除我,函数(e){…})
请阅读