在jQuery中添加多个文本框计算值

时间:2014-10-10 22:49:43

标签: jquery

我有输入时在同一文本框上计算的文本框。我想要的是将它们全部添加到最终结果中。我尝试过使用旧功能。这是它的外观:

function compute(){
  var quiz = document.getElementById('quiz').value; 
  var recitation = document.getElemenById('recitation').value; 
  var homework = document.getElementById('homework').value; 
  var seatwork = document.getElementById('seatwork').value; 
  var activities = document.getElementById('activities').value; 
  var exams = document.getElementById('exams').value; 
  var project = document.getElementById('project').value; 
  var total = document.getElementById('total').value; 
  var grade = quiz+recitation+homework+seatwork+activities+exams+project; 
  total.value = grade;
}

我在每个文本框上都放了oninput =“compute()”。但它没有互动。可能是我的错误?功能是否会在某一时刻发生碰撞?

编辑:我已经创建了一个测试页面。基本相同。你走了:

<!DOCTYPE html>
<head>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
        <title>Test</title>
</head>

<body>
<input id="first" type="text" onchange="compute()">

<script>
$('#first').on('change', function() {
    $(this).val($(this).val() * 3);
});
</script>

<input id="second" type="text" onchange="compute()">

<script>
$('#second').on('change', function() {
    $(this).val($(this).val() * 3);
});
</script>


<input id="result" type="text" readonly>

<script>
        function compute(){
                var myBox1 = document.getElementById('first').value;
                var myBox2 = document.getElementById('second').value;
                var result = document.getElemetById('result').value;
                var grade = first + second;
                total.value = grade;
        }
</script>

</body>
</html>   

1 个答案:

答案 0 :(得分:1)

onChange="compute();"

你试过吗?

修改:您可能还需要将total.value = grade;更改为total = grade;或类似的内容。我相信这个函数写得有点简单,但我不知道你的完整代码。

相关问题