简体   繁体   English

如何在同一时间使用javascript onkeyup为多个ID

[英]how to use javascript onkeyup for multiple ids at sametime

I have 2 html textbox for users to enter numbers. 我有2个html文本框供用户输入数字。 To sum those numbers, I am passing the values to JavaScript variable and after addition displaying the result to html div section 为了对这些数字求和,我将值传递给JavaScript变量,并在添加后将结果显示到html div部分

<div class="input-left"><span><input  class="textbox" id="left" name="count" type="text" size="5"  value="" /></span></div>

<div class="input-right"><span><input  class="textbox" id="right" name="count" type="text" size="5"  value="" /></span></div>

<div id="result"> </div>

javascript: JavaScript的:

document.getElementById('left').onkeyup = function() {
    var a = parseFloat(this.value);

}

document.getElementById('right').onkeyup = function() {
    var b = a + parseFloat(this.value);
    document.getElementById("result").innerHTML = b || 0 ;
}

But I have an issue with JavaScript. 但我有一个JavaScript问题。 It not displaying the result. 它不显示结果。 How to add both functions in same onkeyup function. 如何在同一个onkeyup函数中添加这两个函数。

FIDDLE SETUP FIDDLE SETUP

Try this: 试试这个:

window.onload = function(){

    var left = document.getElementById('left');
    var right = document.getElementById('right');
    var result = document.getElementById("result");

    left.onkeyup = calc;
    right.onkeyup = calc;

    function calc() {
        var a = parseFloat(left.value) || 0;
        var b = parseFloat(right.value) || 0;
        result.innerHTML = a + b ;
    }

}

JSFiddle: http://fiddle.jshell.net/gYV8Z/3/ JSFiddle: http ://fiddle.jshell.net/gYV8Z/3/

Update: To hide the result in case the sum equals zero , change the last line like this: 更新:要在总和等于零的情况下隐藏结果,请更改最后一行,如下所示:

        result.innerHTML = ( a + b ) || "";

JSFiddle: http://fiddle.jshell.net/gYV8Z/4/ JSFiddle: http ://fiddle.jshell.net/gYV8Z/4/

document.getElementById('left').onkeyup = function() {
var a = parseFloat(this.value);

}

document.getElementById('right').onkeyup = function() {
var b = a + parseFloat(this.value);
document.getElementById("result").innerHTML = b || 0 ;
}

it your code, var a is local variable. 你的代码,var a是局部变量。 make it global variable. 使它成为全局变量。

but i would use this code. 但我会使用这个代码。

function add(){
    return parseFloat(document.getElementById('left').value) + parseFloat(document.getElementById('right').value);
}

document.getElementById('left').onkeyup = function() {
document.getElementById("result").innerHTML = add();

}

document.getElementById('right').onkeyup = function() {
document.getElementById("result").innerHTML = add();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM