简单添加时的Javascript文本框更新

简单添加时的Javascript文本框更新,javascript,jquery,Javascript,Jquery,我有四个ID为#a#b#c#d的文本框。 假设用户输入上述任意三个框的值,那么剩余的文本框将显示前面三个框中输入的值的总和 例如: 如果用户输入#a#c和#d的值 剩下的文本框即#b将显示#a#b和#c之和 我们如何在Javascript或jquery中实现这一点? 我正在使用onkeyup()函数,但无法解决它 已尝试的代码: <input type="Number" id="a" onkeyup="check();" /> <input type="Number" id="

我有四个ID为#a#b#c#d的文本框。 假设用户输入上述任意三个框的值,那么剩余的文本框将显示前面三个框中输入的值的总和

例如: 如果用户输入#a#c和#d的值 剩下的文本框即#b将显示#a#b和#c之和

我们如何在Javascript或jquery中实现这一点? 我正在使用onkeyup()函数,但无法解决它

已尝试的代码:

<input type="Number" id="a" onkeyup="check();" />
<input type="Number" id="b" onkeyup="check();"/>
<input type="Number" id="c" onkeyup="check();"/>
<input type="Number" id="d" onkeyup="check();"/>
    <script>
var a=Number($('#a').val());
var b=Number($('#b').val());
var c=Number($('#c').val());
var d=Number($('#d').val());
    Function check(){
    if (a!=null && b!=null && c!=null)
    {
        var sum1=a+b+c;
        Number($('#d').val(sum1));
    }
    else if (a!=null && b!=null && d!=null)
    {
        var sum2=a+b+d;
        Number($('#c').val(sum2));
    }
    else if (a!=null && c!=null && d!=null)
    {
        var sum3=a+c+d;
        Number($('#b').val(sum3));
    }
    else if (b!=null && c!=null && d!=null)
    {
        var sum4=b+c+d;
        Number($('#a').val(sum4));
    }
    }
    </script>

var a=数字($('#a').val());
var b=数字($('#b').val());
var c=数字($('#c').val());
var d=数字($('#d').val());
函数检查(){
如果(a!=null&&b!=null&&c!=null)
{
var sum1=a+b+c;
数字($('d').val(sum1));
}
如果(a!=null&&b!=null&&d!=null),则为else
{
var sum2=a+b+d;
数字($('#c').val(sum2));
}
如果(a!=null&&c!=null&&d!=null),则为else
{
var sum3=a+c+d;
数字($('#b').val(sum3));
}
如果(b!=null&&c!=null&&d!=null),则为else
{
var sum4=b+c+d;
数字($('a').val(sum4));
}
}

也许是这样的?如果您正在使用jQuery:

$("#b").keyup(function(){

    // Add a + b to total
    var a = parseInt($("#a").val());
    var b = parseInt($("#b").val());

    $("#total").text(a+b);
});

$("#c").keyup(function(){

    // Add a + b to total
    var a = parseInt($("#a").val());
    var b = parseInt($("#b").val());
    var c = parseInt($("#c").val());

    $("#d").val(a+b);
});
编辑:这只是一个给你一个想法的快速草稿,不确定它是否能立即生效。

HTML:

<input type="Number" id="a"  >
<input type="Number" id="b" >
<input type="Number" id="c">
<input type="Number" id="d" >

Fiddle:

在代码中进行以下更改

  • 检查
    函数检查()中的大写
    F
    。它必须是小写的
    f
    (即
    函数检查()
  • 像这样检查
    null
    条件<代码>如果(a&b&c)
  • 将获取更新的
    a
    b
    c
    d
    值的方法分开,并在
    检查方法中调用该方法
  • 代码片段:

    var a、b、c、d;
    函数值(){
    a=数字($('#a').val());
    b=数字($('#b').val());
    c=数字($('#c').val());
    d=数字($('#d').val());
    }
    函数检查(){
    值();
    如果(a&b&c){
    var sum1=a+b+c;
    $('d').val(sum1);
    }否则如果(a&b&d){
    var sum2=a+b+d;
    $('c').val(sum2);
    }否则如果(a&&c&&d){
    var sum3=a+c+d;
    $('b').val(sum3);
    }否则如果(b&c&d){
    var sum4=b+c+d;
    $('a').val(sum4);
    }
    }
    
    
    接受挑战

    VanillaJS中的解决方案。适用于不同数量的盒子

    4盒

    // Example with 4 boxes
    

    5盒

    // Example with 5 boxes
    

    向我们展示您在
    onkeyup
    功能中尝试过的代码。请尝试我的答案。这正是我想要的
    // Example with 5 boxes