2011-08-08 46 views
0

我有這樣的代碼:如何在jquery中添加我的2個單選按鈕值?

<div id="star-rating"> 
<script type="text/javascript"> 
$(function(){ 
    $('#star-rating form').submit(function(){ 
    $('.test',this).html(''); 
    $('input',this).each(function(){ 
    if(this.checked) 
    //$('.test',this.form).append(''+this.name+': '+this.value+'<br/>'); 
$('.test',this.form).append(this.value); 
}); 
return false; 
}); 
}); 
</script> 

<form name="form1" method="post" action="<?=base_url();?>rate/student"> 
    <div class="dbtable"> 

    <table cellpadding="0" cellspacing="0" border="0"><tbody> 
    <th colspan="4" align="left">Personal Appearance</th> 
    <tr><td width="10px"></td><td width="60%">Neatness</td> 
     <td width="20%"> 
      <input name="neat" type="radio" class="neat-star" value="1" title="Poor"/> 
      <input name="neat" type="radio" class="neat-star" value="2" title="Fair"/> 
     </td> 
     </tr> 

    <tr><td></td><td>Health</td> 
     <td> 
      <input name="health" type="radio" class="health-star" value="1" title="Poor"/> 
      <input name="health" type="radio" class="health-star" value="2" title="Fair"/> 
     </td> 
     </tr> 
    <tr><td></td><td align="right"></td> 
     <td><input type="submit" value="Submit scores!" /></td> 
     <td><div class="test Smaller"> 
      <span style="color:#FF0000">Results</span> 
      </div> 
     </td></tr> 

所以現在我有2個單選星評級。我想要的是,當我點擊提交分數時,它將加上2個選定的收音機框。例如,當單擊值爲1的單選按鈕和單選按鈕健康值爲2時,結果將在我的div class = test中顯示3 coz 1 + 2 = 3。任何人都可以幫助我。

回答

1
$('#star-rating form').submit(function() { 
    $('.test', this).html(''); 
    var total = 0; 
    $('input', this).each(function(){ 
     if(this.checked) { 
      total += parseInt(this.value, 10); 
     } 
    } 
    //Do something with total 
    return false; 
}); 

您需要使用parseInt將字符串轉換爲數字。否則,您只需將值連接到一個字符串。

+0

得到它的工作。^_ ^。跟進問題。在我的第一個問題中,我需要總結2臺收音機並獲得它的總數。現在我怎樣才能將總數與固定數字16分開? E.g 16 /總計 –

+0

@Dean - 您想將總數除以16?然後按照你的建議做:'total = 16/total;'! –

+0

哈哈,讓它工作。自己測試一下。再次感謝詹姆斯的幫助。^_^ –

0
$('#star-rating form').submit(function() { 
    var score = $(this).find('.neat-star').val() 
       + $(this).find('.health-star').val(); 
    $(this).find('.test').html(score); 
    return false; 
}); 
0

試試這個

(function(){ 
    $('#star-rating form').submit(function(){ 
     var neatVal, healthVal; 
     neathVal = $(this).find("input[name=neat]:checked").val(); 
     healthVal = $(this).find("input[name=health]:checked").val(); 
     $('.test', this).append(praseInt(neatVal) + parseInt(healthVal)); 
     return false; 
    }); 
}); 
相關問題