Jquery 计算函数不为“;承认;变化
首先,我到处寻找答案,但因为我是个书呆子,我怀疑我只是不知道该用谷歌搜索什么 我有多个输入字段,其中最后两行继承最上面一行的输入 我没有继承“total”值,因为它不需要被继承 我想让函数识别底部行上的继承值作为“更改”,并使用求和函数计算这些行上的总数。因为您可以进行进一步的计算,所以最好将它放在一个函数中 问题: 我需要知道的是,我如何让函数识别继承的值,而不必再次更改它,或者因为我离开字段而将其设置为模糊。我希望它是自动的 解决方案1: 继承顶部的“总计”,然后更改底部的行,并在需要时获取新的总计 解决方案2: 使函数认识到“设定值”是一个变化,然后进行计算 这两种解决方案都源于不在输入中手动输入值,因此无法进行计算的问题 您可以使用jQuery更改事件,结合or选择器和对html的轻微调整,在一个函数调用中处理所有这些活动: 示例HMTL:Jquery 计算函数不为“;承认;变化,jquery,Jquery,首先,我到处寻找答案,但因为我是个书呆子,我怀疑我只是不知道该用谷歌搜索什么 我有多个输入字段,其中最后两行继承最上面一行的输入 我没有继承“total”值,因为它不需要被继承 我想让函数识别底部行上的继承值作为“更改”,并使用求和函数计算这些行上的总数。因为您可以进行进一步的计算,所以最好将它放在一个函数中 问题: 我需要知道的是,我如何让函数识别继承的值,而不必再次更改它,或者因为我离开字段而将其设置为模糊。我希望它是自动的 解决方案1: 继承顶部的“总计”,然后更改底部的行,并在需要时获取
<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 .. -->
如果classleft
或classright
值的元素发生更改,将触发事件。然后,您就可以隔离使用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)