2010-09-11 42 views
0

我正在構建一個客戶可以選擇自定義零件的在線商店。 我對JavaScript很陌生,但我設法創建了一個單選按鈕列表,其中價格是從每個部分添加的。如何使用javascript顯示單選按鈕的文本值

我想要一個框來顯示所有選擇的選項,而不僅僅是總和。

我已經包含文本的值和使用parseInt。有沒有相當於我可以用來從文本中拉出文本而不是數字?

我迄今爲止代碼:

<head> 
    <script type="text/javascript"> 
     function DisplayPrice(price){ 
         var val1 = 0; 
         for(i = 0; i < document.form1.part.length; i++){ 
           if(document.form1.part[i].checked == true){ 
             val1 = document.form1.part[i].value; 
           } 
         } 

         var val2 = 0; 
         for(i = 0; i < document.form2.part2.length; i++){ 
           if(document.form2.part2[i].checked == true){ 
             val2 = document.form2.part2[i].value; 
           } 
         } 

     var val3 = 0; 
         for(i = 0; i < document.form3.part3.length; i++){ 
           if(document.form3.part3[i].checked == true){ 
             val3 = document.form3.part3[i].value; 
           } 
         } 


         var sum=parseInt(val1) + parseInt(val2) + parseInt(val3); 
      document.getElementById('totalSum').value=sum; 
     } 
    </script> 
</head> 
<body> 
    <form name="form1" id="form1" runat="server"> 
     <br> 
     <input id="rdo_1" type="radio" value="0 1.8ghz2xAMD" name="part" checked="checked" onclick="DisplayPrice(this.value);">1.8Ghz Dual Core AMD 
     <br> 
     <input id="rdo_2" type="radio" value="50 2ghz2xAMD" name="part" onclick="DisplayPrice(this.value);">2Ghz Dual Core AMD 
     <br> 
    </form>Choose your memory:<br /> 
    <form name="form2" id="form2" runat="server"> 
     <br> 
     <input id="rdo_1" type="radio" value="0 1333corsair1gb" name="part2" checked="checked" onclick="DisplayPrice(this.value);">1333 Corsair 1GB 
     <br> 
     <input id="rdo_2" type="radio" value="50 1333corsair2x1gb" name="part2" onclick="DisplayPrice(this.value);">1333 Corsair 2x1GB 
     <br> 
    </form>Choose your graphics card:<br /> 
    <form name="form3" id="form3" runat="server"> 
     <br /> 
     <input id="rdo_1" type="radio" value="0 5830ATI1gb" name="part3" checked="checked" onclick="DisplayPrice(this.value);">1GB ATI 5830 
     <br /> 
     <input id="rdo_2" type="radio" value="50 5850ATI1gb" name="part3" onclick="DisplayPrice(this.value);">1GB ATI 5850 
     <br /> 
     <input id="rdo_3" type="radio" value="75 5870ATI1gb" name="part3" onclick="DisplayPrice(this.value);">1GB ATI 5870 
     <br /> 
    </form> 
</body> 

預先感謝你可以給任何意見。

回答

0

這些值似乎始終由空格分隔。因此,您可以使用split()函數將值分爲兩部分,第一部分包含價格,第二部分包含文本。

var parts = value.split(" "); 
var price = parseInt(parts[0]); 
var text = parts[1]; 

也就是說,有更好/更好的方法來達到功能要求,但這取決於你作爲一個學習練習。

+0

感謝您的快速回復!只要看看我能否得到這個工作,還有第二個數值。非常感激 – kadeshiseraph 2010-09-11 18:59:41