使用 jQuery onBlur 更改表单框的值

发布于 2024-10-22 02:30:21 字数 1096 浏览 3 评论 0原文

我正在编写一个 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>

I'm looking to write a jQuery function that will change the value of other input boxes when an onBlur event occurs. In the code below, I'm attempting to read in the value of the input box that has been altered and use its value to manipulate the value of the other input boxes. Eventually, this will be used as a conversion utility. I feel like I'm pretty close here, can someone help?

Thanks!

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

往昔成烟 2024-10-29 02:30:21

在第二次绑定中更改

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

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

Change

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

to

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

in second bind.

清秋悲枫 2024-10-29 02:30:21

我发现你的错误:

将其更改

$('#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/

i found your error:

change this:

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

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

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

to this:

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

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

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

you accidentally gave $('#a').val = b when there is no b

see answer working fully here:
http://jsfiddle.net/Ru6FV/

淡淡の花香 2024-10-29 02:30:21

您可能希望在正确加载 html 后触发整个 javascript:

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

到底是什么问题?它似乎以某种方式工作(没有检查计算)... 使用 jsfiddle 实现

You would probably want to fire whole javascript after html is loaded correctly:

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

What exactly is the issue? It seems to work somehow (didn't check for the calculations)... implementation with jsfiddle

最冷一天 2024-10-29 02:30:21

加载 jquery 后缺少 标记。

You are missing the </script> tag after loading jquery.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文