onkeyup不工作

时间:2013-01-28 14:06:51

标签: jquery

我的预期输出是

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

如果我在第一个文本字段键入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 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

正确的字词为.keyup()而非.onkeyup

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

答案 3 :(得分: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););
    });