2012-04-12 48 views
0

我是一個新手web開發人員,我需要計算一些單選按鈕的總和,然後將該結果傳遞給外部支付服務器。計算單選按鈕的總和,顯示總和,並傳遞給外部Beanstream服務器

這是一個單選按鈕,一個看起來像:

<div class='container'> 
<label for='p_board_rental' ><strong>Paddleboard Rental</strong> (limited amount available*: </label><br/> 
<input type='radio' name='rental' value='0'/><label class="radio"> No</label><br/> 
<input type='radio' name='rental' value='20'/><label class="radio"> Yes</label><br/> 

我需要計算的最終結果,然後顯示,但我已經試了很多方法,我不能讓它正常工作!我能得到的最好的東西是應該出現總數的空盒子。

+0

如果您可以發佈剩餘的javascript和html,包括表單標籤和提交按鈕以及您希望顯示的總計字段,這將會有所幫助。 – 2012-04-12 20:54:52

回答

1

如果你使用jQuery,你可以這樣做:

function tallyValues(){ 
    var tally = 0; 
    $('input:radio').each(function(){ 
     if($(this).is(':checked')){ 
     tally += parseInt($(this).val()); 
     } 
    }); 
} 

理貨將保持選定值

1

這應該讓你接近的地方,你想成爲的總和。只需循環遍歷所有單選按鈕,如果它被選中,則將它插入數組中,如果它不在數組中。然後在最後計算總數並將其設置在文本框中。

有可能是一些jQuery的功能,使這一點更優雅。

var array = new Array(); 

$(":input[type='radio']", "#containerOfChoice").each(function() { 
    if ($(this).is(':checked')) { 
     var value = $(this).attr("value"); 
     if ($.inArray(value, array) == -1) { 
      array.push(value); 
     } 
    } 
}) 

var total = 0; 
for (var i = 0; i < array.length; i++) { 
    total += parseInt(array[i]); 
} 

$("#textBoxOfChoice").val(total);