Javascript 如何使用按钮清除动态生成的输入字段?
在我的表单中,有几个动态生成的输入字段。我正在尝试在我的表单中添加一个重置按钮,它可以清除输入字段。我已经向所有要清除的输入字段添加了相同的类。类名被重置。在加载时,我的表单在下拉框中加载并存储一些数据。这些数据对于表格的工作至关重要。我只是想清除输入字段中输入的数据 我尝试了谷歌上的几个例子来解决我的问题。但不幸的是,没有人帮我。我所能做的就是在我的表单中添加了一个带有id reset的reset按钮,它将用于清空输入字段。我需要一个函数使它工作。 有人能帮帮我吗 这是我的密码 让标题=[] //将创建的HTML字符串追加到DOM 函数initInputsheadingList{ jQuery.fields.appendcreateInputsHTMLheadingList } //要追加的HTMLT模板 //去大教堂 函数createInputsHTMLheadingList{ 让html= headingList.forEachheading=>{ 如果标题!==“公司”{ html+=`${heading}:` html+=`` html+= } } 返回html } //接收数据 //此数据在应用程序生命周期的后期到达, //因此,最好返回承诺对象 //问题解决了,请查看JS Promise以了解更多信息 函数getJSON{ 返回新PromiseSolve=>{ jQuery。gethttps://cors-anywhere.herokuapp.com/www.coasilat.com/wp-content/uploads/2019/06/data-1.txt,函数数据{ resolveJSON.parsedata }; } } //处理原始JSON数据 函数processRawDatadata{ 返回新PromiseSolve=>{ 常数公司数据=[] //创建数据数组 //处理多张纸 Object.valuesdata.forEachsheet,索引=>{ sheet.forEachcompany,i=>{ companyData.push{…company } //只创建一次标题 如果索引===0&&i===0{ Object.keyscompany.forEachitem=>{ 标题.pushitem.trim } } } } 解析公司数据 } } $async函数{ 让列表=[]; 函数初始化自动完成列表{ const thisKey='公司' $company.autocomplete'option','source',functionrequest,response{ 回答 list.filteritem=>{ 如果项[thisKey].toLowerCase.IncludeRequest.term.toLowerCase{ item.label=项目[此键] 退货项目 } } } } $company.autocomplete{ 最小长度:1, 资料来源:名单, 焦点:functionevent,ui{ //物种是恒定的,不应该修改 $company.valui.item.company; 返回false; }, 选择:functionevent,ui{ //处理n个字段/列 headers.forEachheading=>{ $+标题.价值.项目[标题] } 返回false; } }; //开始数据下载、处理和使用 getJSON .thenjson=>{ 返回processRawDatajson } .thendata=>{ //这样我们就可以看到我们使用的是什么数据 //使处理后的数据可以全局访问 列表=数据 初始自动完成列表 初始输入 } }; //当用户输入零值或负值时设置默认值的代码 /* 函数计算{ setTimeoutfunction{ 常量默认值={PE:100,ROCE:60,SG:1,DY:1}; 常量值={};Object.keysdefaults.forEachid=>{ const el=document.getElementById;如果el.value<0{ el.value=默认值[id]; } 值[id]=el.value; }; */ //额定值的计算 $document.readyfunction{ $Cal.clickfunction{ var peVal=0,roceVal=0,sgVal=0,dyVal=0,psVal=0,pbVal=0,npmlqVal=0,roaVal=0,deVal=0,upsVal=0,crVal=0 ; jQuery.fields input.eachfunction{ var idHeading=$this.attrid; ifidHeading==PE{peVal=parseInt$this.val;} ifidHeading==ROCE{roceVal=parseInt$this.val;} ifidHeading==SG{sgVal=parseInt$this.val;} ifidHeading==DY{dyVal=parseFloat$this.val;} ifidHeading==PS{psVal=parseFloat$this.val;} ifidHeading==PB{pbVal=parseFloat$this.val;} ifidHeading==NPMLQ{npmlqVal=parseFloat$this.val;} ifidHeading==ROA{roaVal=parseFloat$this.val;} ifidHeading==DE{deVal=parseFloat$this.val;} ifidHeading==UPS{upsVal=parseFloat$this.val;} ifidHeading==CR{crVal=parseFloat$this.val;} }; var输出=peVal+roceVal+sgVal+dyVal+psVal+pbVal+npmlqVal+roaVal+deVal+UPVAL+crVal ; $output[name='amount'].textoutput; }; }; 页面标题 下拉框: 按钮 重置 0Javascript 如何使用按钮清除动态生成的输入字段?,javascript,jquery,html,Javascript,Jquery,Html,在我的表单中,有几个动态生成的输入字段。我正在尝试在我的表单中添加一个重置按钮,它可以清除输入字段。我已经向所有要清除的输入字段添加了相同的类。类名被重置。在加载时,我的表单在下拉框中加载并存储一些数据。这些数据对于表格的工作至关重要。我只是想清除输入字段中输入的数据 我尝试了谷歌上的几个例子来解决我的问题。但不幸的是,没有人帮我。我所能做的就是在我的表单中添加了一个带有id reset的reset按钮,它将用于清空输入字段。我需要一个函数使它工作。 有人能帮帮我吗 这是我的密码 让标题=[]
附加此事件侦听器
$("#reset").on('click', function () {
$('.reset').val('');
});
让标题=[]
//将创建的HTML字符串追加到DOM
函数initInputsheadingList{jQuery.fields.appendcreateInputsHTMLheadingList
}
//要追加的HTMLT模板
//去大教堂
函数createInputsHTMLheadingList{
让html=
头号人物
阅读=>{
如果标题!==“公司”{
html+=`${heading}:`
html+=``
html+=
}
}
返回html
}
//接收数据
//此数据在应用程序生命周期的后期到达,
//因此,最好返回承诺对象
//问题解决了,请查看JS Promise以了解更多信息
函数getJSON{
返回新PromiseSolve=>{
jQuery。gethttps://cors-anywhere.herokuapp.com/www.coasilat.com/wp-content/uploads/2019/06/data-1.txt,函数数据{
resolveJSON.parsedata
};
}
}
//处理原始JSON数据
函数processRawDatadata{
返回新PromiseSolve=>{
常数公司数据=[]
//创建数据数组
//处理多张纸
Object.valuesdata.forEachsheet,索引=>{
sheet.forEachcompany,i=>{
公司数据推送{
公司
}
//只创建一次标题
如果索引===0&&i===0{
Object.keyscompany.forEachitem=>{
标题.pushitem.trim
}
}
}
}
解析公司数据
}
}
$async函数{
让列表=[];
函数初始化自动完成列表{
const thisKey='公司'
$company.autocomplete'option','source',函数请求,响应{
回答
list.filteritem=>{
如果项[thisKey].toLowerCase.IncludeRequest.term.toLowerCase{
item.label=项目[此键]
退货项目
}
}
}
}
$company.autocomplete{
最小长度:1,
资料来源:名单,
焦点:功能事件,用户界面{
//物种是恒定的,不应该修改
$company.valui.item.company;
返回false;
},
选择:功能事件,用户界面{
//处理n个字段/列
headers.forEachheading=>{
$+标题.价值.项目[标题]
}
返回false;
}
};
//开始数据下载、处理和使用
getJSON
.thenjson=>{
返回processRawDatajson
}
.thendata=>{
//这样我们就可以看到我们使用的是什么数据
//使处理后的数据可以全局访问
列表=数据
初始自动完成列表
初始输入
}
};
//当用户输入零值或负值时设置默认值的代码
/*
函数计算{
setTimeoutfunction{
常量默认值={PE:100,ROCE:60,SG:1,DY:1};
常量值={};Object.keysdefaults.forEachid=>{
const el=document.getElementById;如果el.value<0{
el.value=默认值[id];
}
值[id]=el.value;
};
*/
//额定值的计算
$document.readyfunction{
$Cal.clickfunction{
变量peVal=0,roceVal=0,sgVal=0,dyVal=0,psVal=0,pbVal=0,npmlqVal=0,roaVal=0,deVal=0,upsVal=0,crVal=0;
jQuery.fields input.eachfunction{
var idHeading=$this.attrid;
如果idHeading==PE{peVal=parseInt$this.val;}
如果idHeading==ROCE{roceVal=parseInt$this.val;}
如果idHeading==SG{sgVal=parseInt$this.val;}
如果idHeading==DY{dyVal=parseFloat$this.val;}
如果idHeading==PS{psVal=parseFloat$this.val;}
如果idHeading==PB{pbVal=parseFloat$this.val;}
如果idHeading==NPMLQ{npmlqVal=parseFloat$this.val;}
如果idHeading==ROA{roaVal=parseFloat$this.val;}
如果idHeading==DE{deVal=parseFloat$this.val;}
如果idHeading==UPS{upsVal=parseFloat$this.val;}
如果idHeading==CR{crVal=parseFloat$this.val;}
};
var输出=peVal+roceVal+sgVal+dyVal+psVal+pbVal+npmlqVal+roaVal+deVal+UPVAL+crVal;
$output[name='amount'].textoutput;
};
};
//重置表单字段
$document.readyfunction{
$reset。单击即可启动此功能{
$'.reset'.val;
};
};
页面标题
下拉框:
按钮
重置
0
附加此事件侦听器
$("#reset").on('click', function () {
$('.reset').val('');
});
让标题=[]
//将创建的HTML字符串追加到DOM
函数initInputsheadingList{jQuery.fields.appendcreateInputsHTMLheadingList
}
//要追加的HTMLT模板
//去大教堂
函数createInputsHTMLheadingList{
让html=
headingList.forEachheading=>{
如果标题!==“公司”{
html+=`${heading}:`
html+=``
html+=
}
}
返回html
}
//接收数据
//此数据在应用程序生命周期的后期到达,
//因此,最好返回承诺对象
//问题解决了,请查看JS Promise以了解更多信息
函数getJSON{
返回新PromiseSolve=>{
jQuery。gethttps://cors-anywhere.herokuapp.com/www.coasilat.com/wp-content/uploads/2019/06/data-1.txt,函数数据{
resolveJSON.parsedata
};
}
}
//处理原始JSON数据
函数processRawDatadata{
返回新PromiseSolve=>{
常数公司数据=[]
//创建数据数组
//处理多张纸
Object.valuesdata.forEachsheet,索引=>{
sheet.forEachcompany,i=>{
公司数据推送{
公司
}
//只创建一次标题
如果索引===0&&i===0{
Object.keyscompany.forEachitem=>{
标题.pushitem.trim
}
}
}
}
解析公司数据
}
}
$async函数{
让列表=[];
函数初始化自动完成列表{
const thisKey='公司'
$company.autocomplete'option','source',函数请求,响应{
回答
list.filteritem=>{
如果项[thisKey].toLowerCase.IncludeRequest.term.toLowerCase{
item.label=项目[此键]
退货项目
}
}
}
}
$company.autocomplete{
最小长度:1,
资料来源:名单,
焦点:功能事件,用户界面{
//物种是恒定的,不应该修改
$company.valui.item.company;
返回false;
},
选择:功能事件,用户界面{
//处理n个字段/列
headers.forEachheading=>{
$+标题.价值.项目[标题]
}
返回false;
}
};
//开始数据下载、处理和使用
getJSON
.thenjson=>{
返回processRawDatajson
}
.thendata=>{
//这样我们就可以看到我们使用的是什么数据
//使处理后的数据可以全局访问
列表=数据
初始自动完成列表
初始输入
}
};
//当用户输入零值或负值时设置默认值的代码
/*
函数计算{
setTimeoutfunction{
常量默认值={PE:100,ROCE:60,SG:1,DY:1};
常量值={};Object.keysdefaults.forEachid=>{
const el=document.getElementById;如果el.value<0{
el.value=默认值[id];
}
值[id]=el.value;
};
*/
//额定值的计算
$document.readyfunction{
$Cal.clickfunction{
变量peVal=0,roceVal=0,sgVal=0,dyVal=0,psVal=0,pbVal=0,npmlqVal=0,roaVal=0,deVal=0,upsVal=0,crVal=0;
jQuery.fields input.eachfunction{
var idHeading=$this.attrid;
如果idHeading==PE{peVal=parseInt$this.val;}
如果idHeading==ROCE{roceVal=parseInt$this.val;}
如果idHeading==SG{sgVal=parseInt$this.val;}
如果idHeading==DY{dyVal=parseFloat$this.val;}
如果idHeading==PS{psVal=parseFloat$this.val;}
如果idHeading==PB{pbVal=parseFloat$this.val;}
如果idHeading==NPMLQ{npmlqVal=parseFloat$this.val;}
如果idHeading==ROA{roaVal=parseFloat$this.val;}
如果idHeading==DE{deVal=parseFloat$this.val;}
如果idHeading==UPS{upsVal=parseFloat$this.val;}
如果idHeading==CR{crVal=parseFloat$this.val;}
};
var输出=peVal+roceVal+sgVal+dyVal+psVal+pbVal+npmlqVal+roaVal+deVal+UPVAL+crVal;
$output[name='amount'].textoutput;
};
};
//重置表单字段
$document.readyfunction{
$reset。单击即可启动此功能{
$'.reset'.val;
};
};
页面标题
下拉框:
按钮
重置
0
如果您想用类重置清除所有输入
如果要用类重置清除所有输入
这是一种很好的方法:
(function() {
$('#reset').click(function() {
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
})
或:
这是一个很好的方法:
(function() {
$('#reset').click(function() {
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
})
或:
你想清除什么,动态输入元素还是动态生成的输入元素的值?对于你的下一个问题…你应该将问题分解为一个。90%的代码片段与问题无关,应该已被删除。我正试图清除动态输入元素。但现在我得到了解决方案。感谢@dupinder的展示如果您对解决我的查询感兴趣……@andreas,我刚才提供了这个代码片段,以便编码人员能够轻松理解我正在讨论的内容。但是,是的,下次我将尝试提供更简单的代码片段……假设您要清除表单中的所有输入元素,只需使用$'form'。触发器'reset';您要清除的内容是动态的put elements或dynamic generated input element的值?对于下一个问题,您应该将问题分解为一个。90%的代码段与问题无关,应该已删除。我正在尝试清除dynamic input elements。但现在我找到了解决方案。感谢@dupinder对解决我的问题表现出兴趣ery…@andreas我刚刚提供了这个代码片段,这样编码人员就可以很容易地理解我正在讨论的内容。但是,是的,下次我会尝试提供更简单的代码片段…假设您想清除表单中的所有输入元素,只需使用$'form'。触发器'reset';朋友,我也想清除下拉字段。但是您的代码不是cle感谢。提前感谢。感谢朋友提供的解决方案。它帮助我了解了查询的其他可能解决方案。再次感谢@dotnetbossfriend我也想清除下拉字段。但您的代码没有清除它。提前感谢。感谢朋友提供的解决方案。它帮助我了解了查询的其他可能解决方案 Y再次感谢@dotneboss