window.onload = function(){
cds = document.getElementsByName( "cd[]" );
for( var i = 0; i < cds.length; i++ ){
cds[i].addEventListener("change", addCDToCart, false );
}
}
/**
* this function is called
* when a CD checkbox is selected
*/
var addCDToCart = function(){
//get total cost textbox value
var txtTotal = $("total");
// loop through all the checkboxes
for( var i = 0; i < cds.length; i++ ){
if( cds[i].checked == true ){
var nextCD = parseFloat(cds[i].title );
total = ((total) + (nextCD));
}
}
txtTotal.value = total.toString();
alert( total.toString() );
}
我使用上面的代码检查数组中的所有复选框。我想总结所有选中复选框的所有价格。问题是价格存储在title属性中而不是value属性中。我尝试使用上面的代码从title属性中检查价格为8.20和12.70的2个复选框并总结它们,但它显示如下:
[object HTMLinputElement]8.212.7
我的任务说我不想修改HTML代码。下面显示了HTML代码的一部分:
<div class='item'>
<span class='CDTitle'>Where is the Love</span>
<span class='CDYear'>2000</span>
<span class='catDesc'>Rap</span>
<span class='CDPrice'>12.70</span>
<span class='chosen'><input type='checkbox' name='cd[]' value='974' title='12.70' /></span>
</div>
<div class='item'>
<span class='CDTitle'>White Ladder</span>
<span class='CDYear'>2000</span>
<span class='catDesc'>Rock/Pop</span>
<span class='CDPrice'>8.20</span>
<span class='chosen'><input type='checkbox' name='cd[]' value='975' title='8.20' /></span>
</div>
解决此问题的任何提示?谢谢!
答案 0 :(得分:1)
您正确地获得了title
。
问题似乎是total
变量(未在问题中显示)的初始化,它似乎有HTMLInputElement
,导致字符串连接您的数值。
也许在您的实际代码中,您将total
变量与txtTotal
混为一起,input
包含{{1}}元素。