3

我的预期输出是

当我在输入文本字段上键入时,我会在第三个文本字段上得到即时总和

如果我在第一个文本字段上键入 3 并且键向上,则 3+0=3 必须立即显示在第三个字段上

但没有显示任何结果

     $(document).ready(function(){
        var a=0, b=0,c=0;

        $("input:#a").keyup(function(){
            a=$("input:#a").val();
            c=a+b;
            $("input:#c").append(a+"+"+"b"+"="+c);
         });

        $("input:#a").keyup(function(){
            b=$("input:#b").val();
            c=a+b;
            $("input:#c").append(a+"+"+b+"="+c);
        });

     });



        <tr><td><input type="text" id="a"></td></tr>
        <tr><td><input type="text" id="b"></td></tr>
        <tr><td><input type="text" id="c"></td></tr>
4

4 回答 4

1

您需要以下内容:

<table>
  <tbody>
    <tr><td>A<input type="text" id="a" /></td></tr>
    <tr><td>B<input type="text" id="b" /></td></tr>
    <tr><td>C<input type="text" id="c" /></td></tr>
  </tbody>
</table>

<!-- If you need this: -->
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>

$(document).ready(function(){
    var a=0, 
        b=0;

    $('input#a').bind('keyup', function(e){
        a = parseInt($(this).val()) || 0;
        var c = (a + b);

        $('input#c').val(a + '+' + b + '=' + c);
    });  

    $('input#b').bind('keyup', function(e){
        b = parseInt($(this).val()) || 0;
        var c = (a + b);

        $('input#c').val(a + '+' + b + '=' + c);
    });

});

此代码执行计算并将结果放入框 C,并使用计算结果自动更新 C。

于 2013-01-28T14:17:36.863 回答
0

你正在连接字符串。您需要实际添加数字(而不是使用.append):

$("#c").text(parseInt(a) + parseInt(b));

此外,您应该写为).on('keyup', function () {而不是).onkeyup

于 2013-01-28T14:09:12.593 回答
0

正确的术语.keyup().onkeyup.

http://api.jquery.com/keyup/

于 2013-01-28T14:09:42.260 回答
0

试试这个

$(document).ready(function () {
    var a = 0,
        b = 0;
    $("input#a").on('keyup', function () {
        a = parseInt($("input#a").val());
        $("input#c").val(parseInt(a + b););
    });

    $("input#a").on('keyup', function () {
        b = parseInt($("input#b").val());
        $("input#c").val(parseInt(a + b););
    });
于 2013-01-28T14:16:01.480 回答