【发布时间】:2015-03-03 09:52:02
【问题描述】:
我有三个 DIV,其内容是整数值,并且经常从另一个来源更新。我的主要想法是将三个 div 的内容解析为 float 或 integer ,将它们相加并在另一个 div 中显示总数。我期待使用 onchange() 函数处理 div 中的内容,因为其中的内容会经常更改。以下是我的代码,它目前无法正常工作,如果您能帮我解决这个问题,我将不胜感激。 此 div 中的内容将使用文本输入经常更新,您可以创建一个文本输入输出来操作第一个 div,然后显示整个总和 提前致谢。
<script>
function total() {
var value1 = parseFloat($('#div1').innerHTML ()) || 0;
var value2 = parseFloat($('#div2').innerHTML ()) || 0;
var value3 = parseFloat($('#div1').innerHTML ()) || 0;
var total;
total=value1 + value2 + value3;
$('#total').html(total);
}
</script>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body >
<div id="mywraper">
<div id="div1" onchange="total()">
4
</div>
<div id="div2" onchange="total()">
5
</div>
<div id="div2" onchange="total()">
6
</div>
</div>
<div id="total_div">
Total $<span id="total"></span>
</div>
</body>
</html>
【问题讨论】:
-
jQuery 的对象没有方法
.innerHTML()。请改用.html()。 -
或使用
.text()- 函数 -
另外,你有重复的ID,它不会工作......类似的问题在这里解释:stackoverflow.com/questions/6676186/use-onchange-in-a-div
-
首先 onChange 不能与 Pete 提到的 div 一起使用。而是从您真正更改 div 值的地方调用总函数。并使用 .text() 作为@empiric 或 .html() 提及
-
是的,onChange 需要用户输入来检测更改,因此您应该将总函数粘贴到任何更新值的函数中。无论如何,you could do something more dynamic, like this this ||| This is the same as the prior example, I just removed all the comments and optional lines ||| Here I just added more divs 表明如果 div 的数量发生变化,您不必更改 javascript ...
标签: javascript jquery html