2013-03-14 62 views
1
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屬性。我嘗試使用上面的代碼,總結起來檢查2個複選框與8.20和12.70的價格,從標題屬性,但它顯示是這樣的:javascript:如何從複選框獲取標題屬性值?

[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

你使用常規的JavaScript *和* jQuery嗎? – 2013-03-14 01:46:50

+0

@JohnConde我只使用普通的javascript。 – Boon 2013-03-14 01:49:35

+3

'cds [i] .getAttribute('name');' – 2013-03-14 01:52:23

回答

1

你正確得到title

這個問題似乎是與total變量(在問題未畫出)的初始化,這似乎有一個HTMLInputElement,這是造成你的數值的字符串連接。

也許在您的實際代碼中,您將total變量與txtTotal混合在一起,其中包含input元素。

+0

我用JavaScript很新。你能解釋什麼是$(「總數」)? – Boon 2013-03-14 01:59:29

+1

@Boon:'$'只是一個變量。可能你有一個已經爲'$'分配了函數的庫加載。一些庫使它成爲'document.getElementById()'的快捷方式。從你的使用看來,情況就是這樣,因爲它似乎返回一個DOM元素。 – 2013-03-14 02:01:10

+1

非常感謝。它現在工作。 – Boon 2013-03-14 02:17:35