Javascript 在更改前获取输入的旧值,并将总值更改为+;或-
我想做一份积分分配表。 我得到了4个输入类型,数值为0-100,总计=100分。因此,我们可以在每个输入中输入25个点。我已经得到它的工作,以验证输入数字最小0最大100,它减去总的输入值改变。 我对把总数加起来有问题。如果用户更改了已经更改的值,我需要先更改合计+值(更改前),然后更改合计-值(更改后)。 我不知道如何在改变之前获得价值 我的htmlJavascript 在更改前获取输入的旧值,并将总值更改为+;或-,javascript,jquery,html,statistics,Javascript,Jquery,Html,Statistics,我想做一份积分分配表。 我得到了4个输入类型,数值为0-100,总计=100分。因此,我们可以在每个输入中输入25个点。我已经得到它的工作,以验证输入数字最小0最大100,它减去总的输入值改变。 我对把总数加起来有问题。如果用户更改了已经更改的值,我需要先更改合计+值(更改前),然后更改合计-值(更改后)。 我不知道如何在改变之前获得价值 我的html <input type="number" min="0" max="100" name="1" /> <input type=
<input type="number" min="0" max="100" name="1" />
<input type="number" min="0" max="100" name="2" />
<input type="number" min="0" max="100" name="3" />
<input type="number" min="0" max="100" name="4" />
<input type="text" id="Total" name="Total" value="100"/>
现在还不清楚它是如何工作的。
嗨,像这样保存旧值
$(“输入[type=number]”)。更改(函数(事件){
oldValue=$(this.data('oldValue');
如果(旧值>0){
maxPoints=parseInt($('#Total').val())+oldValue;
}否则{
maxPoints=parseInt($('#Total').val();
}
myVal=(parseInt($(this.val())| | 0);
总计=最大点-myVal;
$(this.data('oldvalue',$(this.val())//将旧值更新为新值
$('总计').val(总计);
});代码>
非常感谢:)现在可以了,我只需要阻止分发超过100分的可能性,不要让总数低于0:)稍后将测试所有内容。
$("input[type=number]").keyup(function(event) {
max=100;
min=0;
value=( parseInt($(this).val()));
if(value < min || isNaN(parseInt(value)))
$(this).val(0)
else if(value > max)
$(this).val(100);
else return value;
});
var total, myVal;
$("input[type=number]").change(function(event) {
maxPoints = parseInt($('#Total').val());
myVal = ( parseInt($(this).val()) || 0);
total = maxPoints - myVal;
$('#Total').val(total);
});
$("input[type=number]").change(function(event) {
oldValue = ???? - how to get this ? :P
if(oldValue>0){
maxPoints = parseInt($('#Total').val()) + oldValue;
}else{
maxPoints = parseInt($('#Total').val());
}
myVal = ( parseInt($(this).val()) || 0);
total = maxPoints - myVal;
$('#Total').val(total);
});