Javascript 如何使用动态输入字段的值执行计算?
我的html表单代码有点问题 在我的代码中,很少有动态生成的输入字段。在动态生成的每个输入字段中,都有一些数值。我需要用它们做一些数学计算 =“PE+ROCE+(2-SG)-(4-DY/2)” 这是我的计算模式。其中,PE、ROCE等是生成的动态输入字段的ID 使用生成的动态输入字段的值,我需要执行上述计算。 当用户单击“计算”输入按钮时,必须执行此计算。 然后,上面的最终计算值将显示在我的表单代码底部的输出标记中。 我试图自己解决这个问题。但不幸的是,这项任务失败了 现在有人可以帮我解决这个问题了。 我将非常感激 这是我的完整表格代码Javascript 如何使用动态输入字段的值执行计算?,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我的html表单代码有点问题 在我的代码中,很少有动态生成的输入字段。在动态生成的每个输入字段中,都有一些数值。我需要用它们做一些数学计算 =“PE+ROCE+(2-SG)-(4-DY/2)” 这是我的计算模式。其中,PE、ROCE等是生成的动态输入字段的ID 使用生成的动态输入字段的值,我需要执行上述计算。 当用户单击“计算”输入按钮时,必须执行此计算。 然后,上面的最终计算值将显示在我的表单代码底部的输出标记中。 我试图自己解决这个问题。但不幸的是,这项任务失败了 现在有人可以帮我解决这个问
//在此处定义标题,以便我们可以全局访问它
//在应用程序中
让标题=[]
//将创建的HTML字符串追加到DOM
函数初始输入(标题列表){
jQuery(“.fields”).append(createInputsHTML(headingList))
}
//要追加的HTMLT模板
//去大教堂
函数createInputsHTML(标题列表){
让html=''
headingList.forEach(heading=>{
如果(标题!=“公司”){
html+=`${heading}:`
html+=``
html+='
'
}
})
返回html
}
//接收数据
//此数据在应用程序生命周期的后期到达,
//因此,最好返回承诺对象
//得到解决(更多信息,请查看JS Promise)
函数getJSON(){
返回新承诺(解决=>{
jQuery.get(“https://cors-anywhere.herokuapp.com/www.coasilat.com/wp-content/uploads/2019/06/data-1.txt,函数(数据){
解析(JSON.parse(数据))
});
})
}
//处理原始JSON数据
函数processRawData(数据){
返回新承诺(解决=>{
常数公司数据=[]
//创建数据数组
//处理多张纸
Object.values(data).forEach((表,索引)=>{
表1.forEach((公司,i)=>{
companyData.push({…company)
})
//只创建一次标题
如果(索引==0&&i==0){
Object.key(公司).forEach(项目=>{
headers.push(item.trim())
})
}
})
})
解析(公司数据)
})
}
$(异步函数(){
让列表=[];
函数初始化自动完成(列表){
const thisKey='公司'
$(“#公司”).autocomplete('选项','源',函数(请求,响应){
回应(
list.filter(项=>{
if(项[thisKey].toLowerCase().includes(request.term.toLowerCase())){
item.label=项目[此键]
退货项目
}
})
)
})
}
$(“#公司”)。自动完成({
最小长度:3,
资料来源:名单,
焦点:功能(事件、用户界面){
//“物种”是不变的,不应该修改
$(“#公司”).val(ui.item.company);
返回false;
},
选择:功能(事件、用户界面){
//处理n个字段/列
标题。forEach(标题=>{
$('#'+标题).val(ui.item[标题])
})
返回false;
}
});
//开始数据下载、处理和使用
getJSON()
。然后(json=>{
返回processRawData(json)
})
。然后(数据=>{
//这样我们就可以看到我们使用的是什么数据
console.log(数据)
//使处理后的数据可以全局访问
列表=数据
初始化自动完成(列表)
输入(标题)
})
});
公司:
最终金额0
尝试每个输入循环
$("#Calculate").click(function(){
var peVal,roceVal,sgVal,dyVal;
jQuery(".fields input").each(function (){
var idHeading=$(this).attr("id");
if(idHeading=="Your ID for PE input"){
peVal=parseInt($(this).val());
}
if(idHeading=="Your ID for ROCE input "){
roceVal=parseInt($(this).val());
}
if(idHeading=="Your ID for SG input"){
sgVal=parseInt($(this).val());
}
if(idHeading=="Your ID for DY input"){
dyVal=parseInt($(this).val());
}
});
var output=peVal+roceVal+(2-sgVal)-(4-dyVal/2);
});
您在代码的哪一部分执行
“A+B+(6-C)+(2-D/3)”
?请创建A-您没有描述如何重新创建问题,自动完成代码将问题与Adalinivascu混淆。我正在使用动态输入字段值进行此计算。输入字段的值将代替A、B、C、D。我刚才用这个来告诉你们计算的模式。谢谢,在哪里?什么时候用户必须做什么才能看到此计算结果?您的尝试在哪里?这不只是授权问题吗?还有,既然已经有jQuery,为什么不使用它呢?当用户单击“计算”按钮时,将执行此计算。我试着自己解决这个问题。但这次失败了。希望你能理解。钱袋问题?只是修正了,只是修正了打字错误。现在请看。拉维·帕特尔谢谢你的回答。。。我只是想用你的答案,但我觉得有问题。代码工作不正常。请在这里检查“”@Ravi这些值是字符串格式的,您需要解析才能进行任何计算非常感谢Ravi Patel。。终于得到了正确的答案。。。只是因为你的帮助。。。再次感谢。。