使用jQuery onBlur更改表单框的值

时间:2011-03-11 20:21:05

标签: javascript jquery bind onblur

我正在寻找一个jQuery函数,它会在onBlur事件发生时改变其他输入框的值。在下面的代码中,我试图读取已更改的输入框的值,并使用其值来操纵其他输入框的值。最终,这将用作转换实用程序。我觉得我离这儿很近,有人可以帮忙吗?

谢谢!

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js">
<script type="text/javascript">

$('#a').bind('blur', function() {
    var a = $('#a').val();

    var b = a*1;
    var c = a*1;

    $('#b').val(b);
    $('#c').val(c);

});

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

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

$('#c').bind('blur', function() {
    var c = $('#c').val();

    var a = c*3;
    var b = c*3;

    $('#a').val(a);
    $('#b').val(b);

});
</script>
<div style="width:500px">
    <table width="500">
        <tr>
            <td><input type="text" id="a" value="1"/></td>
            <td><input type="text" id="b" value="1"/></td>
            <td><input type="text" id="c" value="1"/></td>
        </tr>
    </table>
</div>

4 个答案:

答案 0 :(得分:0)

我发现了你的错误:

改变这个:

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

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

到此:

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

    $('#a').val(a);
    $('#c').val(c);
});

当没有b

时你不小心给了$('#a').val = b

在这里看到完整的答案: http://jsfiddle.net/Ru6FV/

答案 1 :(得分:0)

你可能想在正确加载html后激活整个javascript:

$(function() {
  $('#a').bind(...
  ...
  });
});

究竟是什么问题?它似乎以某种方式工作(没有检查计算)...... implementation with jsfiddle

答案 2 :(得分:0)

更改

$('#a').val(b);

$('#a').val(a);

在第二次绑定中。

答案 3 :(得分:0)

加载jquery后,您缺少</script>标记。