Javascript 获取输入事件的上一个值

Javascript 获取输入事件的上一个值,javascript,jquery,Javascript,Jquery,我有一个必须动态更改的值:原始值是6,我可以自定义它。如果我把7放在输入框上,我现在有13个。当我添加另一个数字时,例如71,我的值会改变13+71。我想用之前的值(7)减去13,得到我原来的值,即6 以下是我的片段: $('.test:input')。在('input',function()上{ var ok=$('.ok'); ok.text(parseFloat(ok.text())+parseFloat($(this.val())) }) 6. 你要什么还不完全清楚。但我可以看出你的

我有一个必须动态更改的值:原始值是6,我可以自定义它。如果我把7放在输入框上,我现在有13个。当我添加另一个数字时,例如71,我的值会改变13+71。我想用之前的值(7)减去13,得到我原来的值,即6

以下是我的片段:

$('.test:input')。在('input',function()上{
var ok=$('.ok');
ok.text(parseFloat(ok.text())+parseFloat($(this.val()))
})

6.

你要什么还不完全清楚。但我可以看出你的选择器错了。您还需要确保在查询文档中的元素之前加载了文档

我将事件侦听器更改为onChange,这样就不会对每个按键进行添加

$(document).ready(function() {
  $('.test input').on('change', function() {
    var ok = $('.ok');
    ok.text(parseFloat(ok.text()) + parseFloat($(this).val()))
  })
});
下面是它运行的一个示例。
下面是对你所问问题的另一个猜测。它将初始值存储为属性

$(document).ready(function() {
  var ok = $('.ok');

  $('.ok').text(ok.attr('data-initial-value'));
  $('.test input').on('change', function() {
    ok.text(parseFloat(ok.attr('data-initial-value')) + parseFloat($(this).val()))
  })
});

<div class="ok" data-initial-value="6" style="background-color: white">
  </div>
$(文档).ready(函数(){
var ok=$('.ok');
$('.ok').text(ok.attr('data-initial-value'));
$('.test input')。在('change',function()上{
ok.text(parseFloat(ok.attr('data-initial-value'))+parseFloat($(this.val()))
})
});

正如@Doug所建议的,您可以使用一个属性来存储初始值:

$('input')。在('input',function()上{
var ok=$('.ok');
ok.text(+(ok.attr('i'))++($(this.val()| | 0))
})

6.

谢谢大家的帮助和提示,很抱歉解释得很混乱

这就是我所做的,它是有效的:当我聚焦时,我将旧值放入属性中,然后当我添加数字时,我用存储的数字减去actuel数字

$('.test input')。在('focus',function()上{
$(this.attr('value',$(this.val());
});
$('.test input')。在('change',function()上{
瓦尔塔克列=0;
if($(this.attr('value')!=''){
valActuelle=$(this.attr('value');
}
var ok=$('.ok');
ok.text((parseFloat(ok.text())-parseFloat(valActuelle))+parseFloat($(this.val()));
})

6.

将其存储为元素上的数据-*值?我必须在“打开”事件中执行此操作,因为许多其他功能正在修改此数字。每次我执行此事件时,它都会更改值…每个按键上都会发生一个
输入
事件,即一个按键的值为
5
,另一个按键的值为
51
。你需要一个按钮,用当前值显式地触发计算(或者用其他更复杂的方式来区分一个用户输入何时“完成”和下一个用户输入何时开始)。@Bergi我想OP希望每次按键时值都发生变化(“我在添加另一个..71时放入7”)。他们只是希望原始值(6)被记住,即使他们已经添加了。谢谢你的帮助。这离我要找的很近!但是如果我离开输入,回来添加一个数字,它仍然会给出一个错误的结果…你说的错误结果是什么意思?你是说在输入失去焦点后,你希望数字返回到6?还是你总是希望其中一个数字是6?你的第二个数字与我想要的很接近。我已经试过了,但问题是值被其他功能更改了。有。这就是我要找的,只是我的值不总是一样的,其他功能可以更改它…@ZeyukanIch',“其他功能”也可以更新属性。