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() );
}
上記のコードを使用して、配列内のすべてのチェックボックスをチェックしました。選択したすべてのチェックボックスのすべての価格を合計したかったのです。問題は、価格がvalue属性ではなくtitle属性に格納されることです。上記のコードを使用して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>
この問題を解決するためのヒントはありますか?ありがとう!