Jquery 计算函数不为“;承认;变化

Jquery 计算函数不为“;承认;变化,jquery,Jquery,首先,我到处寻找答案,但因为我是个书呆子,我怀疑我只是不知道该用谷歌搜索什么 我有多个输入字段,其中最后两行继承最上面一行的输入 我没有继承“total”值,因为它不需要被继承 我想让函数识别底部行上的继承值作为“更改”,并使用求和函数计算这些行上的总数。因为您可以进行进一步的计算,所以最好将它放在一个函数中 问题: 我需要知道的是,我如何让函数识别继承的值,而不必再次更改它,或者因为我离开字段而将其设置为模糊。我希望它是自动的 解决方案1: 继承顶部的“总计”,然后更改底部的行,并在需要时获取

首先,我到处寻找答案,但因为我是个书呆子,我怀疑我只是不知道该用谷歌搜索什么

我有多个输入字段,其中最后两行继承最上面一行的输入

我没有继承“total”值,因为它不需要被继承

我想让函数识别底部行上的继承值作为“更改”,并使用求和函数计算这些行上的总数。因为您可以进行进一步的计算,所以最好将它放在一个函数中

问题: 我需要知道的是,我如何让函数识别继承的值,而不必再次更改它,或者因为我离开字段而将其设置为模糊。我希望它是自动的

解决方案1: 继承顶部的“总计”,然后更改底部的行,并在需要时获取新的总计

解决方案2: 使函数认识到“设定值”是一个变化,然后进行计算

这两种解决方案都源于不在输入中手动输入值,因此无法进行计算的问题

您可以使用jQuery更改事件,结合or选择器和对html的轻微调整,在一个函数调用中处理所有这些活动:

示例HMTL:

<input type="number" name="left1" class="left" min="0" />
<input type="number" name="right1" class="right" min="0"/>
<input type="number" name="sum1" class="total" disabled />

<br />

<input type="number" class="left" name="left2" min="0" />
<input type="number" class="right" name="right2" min="0" />
<input type="number" class="total" name="sum2" disabled />


<!-- snip .. --> 
如果class
left
或class
right
值的元素发生更改,将触发事件。然后,您就可以隔离使用
this
更改的特定元素,并使用简单的逻辑/代码来实现所需的行为:

var itemClass = $(this).attr('class'); //<-- gives you the elements class (left or right)




请注意,当通过其他方式(如按下向上/向下按钮或使用鼠标滚轮)更改值时,不会触发
keyup
。请注意!我意识到了这一点,并认为我已经考虑到了这一点,但我只是注意到,在最后的代码中,我并没有解决这个问题。非常感谢。(虽然keyup看起来更酷!嘿…)谢谢你的帮助!我理解为什么你的解决方案可以帮助很多人,所以我认为它是正确的。然而,我打算做的是:在大多数情况下,这可能是一种非常不稳定和不受欢迎的行为。
$('.left, .right').on('change', function(){ /* snip... */});
var itemClass = $(this).attr('class'); //<-- gives you the elements class (left or right)