我正在尝试做的是检查每个输入的价格,并从中得出一个总和。
这是我的代码
function totalSum(e) {
e.preventDefault();
var unit = $("input:checked").parent("dt").siblings("dd").find("span");
total = 0;
$.each(unit, function(index, obj){
total += parseInt($(obj).text(), 10);
});
$("#totalPrice").html('<span class="count">€ ' + total + '</span> €');
}
每个单元都在其跨度内找到。Total 设置为 0。我尝试在每个检查的对象上调用 parseInt,然后将总数添加到 span 内。在 HTML 中,价格是这样表示的:
<dd><span class="costo">€199</span></dd>
如您所见,有欧元标记。恐怕无法解析,是这样吗?因为什么都没有改变!我应该怎么写?提前致谢
好吧,我感到很惭愧,但我无法让它发挥作用。我决定将代码放在最低限度,所以我尝试了这种方式
<body>
<div class="bla"><span class="count">1</span></div>
<div class="bla"><span class="count">1</span></div>
<div class="bla"><span class="count">1</span></div>
<div id="total"></div>
<script type="text/javascript" src="js/jquery-1.9.0.min.js" /></script>
<script>
$(document).ready(function(){
function sum() {
var prices = $("div.bla").find(".count");
total= 0;
$.each(prices, function(index, obj){
total += parseFloat($(obj).text());
});
$("#total").html('<span class="count">'+total +'</span> €');
};
});
这应该工作,但没有出现。有人能这么好心地告诉我出了什么问题吗?!