Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态输入计算器_Javascript_Jquery - Fatal编程技术网

Javascript 动态输入计算器

Javascript 动态输入计算器,javascript,jquery,Javascript,Jquery,我正在尝试创建一个有6个输入的计算器,可以根据其他输入值自动调整输入值 我知道我可以手动监听每个输入事件并进行单独计算 但我正在尝试用更短的代码实现更好的方法 你可以看到,我让它部分工作,但它有点混乱,当一些输入被改变。它的行为很奇怪 谢谢你的帮助 ;(函数($){ $('body')。关于('input','input number',函数(){ const id=$(this.attr('id')) 常量输入=['up'、'tu'、'pv'、'ip'、'cup'、'cv'] const u

我正在尝试创建一个有6个输入的计算器,可以根据其他输入值自动调整输入值

我知道我可以手动监听每个输入事件并进行单独计算

但我正在尝试用更短的代码实现更好的方法

你可以看到,我让它部分工作,但它有点混乱,当一些输入被改变。它的行为很奇怪

谢谢你的帮助

;(函数($){
$('body')。关于('input','input number',函数(){
const id=$(this.attr('id'))
常量输入=['up'、'tu'、'pv'、'ip'、'cup'、'cv']
const up=$('#up').val(),
tu=$('#tu').val(),
pv=$('#pv').val(),
ip=$('#ip').val(),
cup=$('#cup').val(),
cv=$('#cv').val()
常数nv={
up:pv/tu,
图:pv/up,
pv:tu*up,
ip:((cv-pv)/pv)*100,
杯子:cv/tu,
简历:(ip/100)*以上
}
inputs.forEach(c=>{
如果(c!==id&&nv[c]&&nv[c]>0){
$(`c}').val(nv[c])
}
})
})
$('body')。在('click','clear',函数()上{
常量输入=['up'、'tu'、'pv'、'ip'、'cup'、'cv']
inputs.forEach(c=>{
$(`c}').val(“”)
})
})
})(jQuery)

已购清仓
单价
总数单位(s)
购买价值
现在的
增加%
单价
当前值

错误来自循环值。如果修改pv,也会修改tu,向上和向上链接到tu…是的,我理解这一点,我想知道是否有更好的方法来实现它,而不需要为每个字段创建一个输入侦听器。单价和总单位不应该只接受用户输入,然后用于计算购买价值吗?在我看来,你的计算太多了on@charlietfl,真是一团糟。我试图增强它,这样当用户更新任何字段时,其公式中只有一个字段被更新,@charlietfl我想有自由更新任何字段,如果其公式使用其他字段的值,那么这些字段中只有一个也应该被更新