2012-04-22 133 views
0

我想用复选框和收音机进行计算。如果元素被选中(选中) - 我将它的值加到常量。计算单选按钮的值

对于复选框我使用此代码:

var normochas = 0; 
    function Count(a,b) { 
    if(a==1) { 
     normochas = normochas + b; 
     $('#sidebar-contact .blue').text(normochas); 
    } else { 
     normochas = normochas - b; 
     $('#sidebar-contact .blue').text(normochas); 
    } 
    } 

$(':checkbox').change(function() { 
    var count = parseInt($(this).val()); 
    if ($(this).attr("checked")) { 
     Count(1,count); 
     return; 
    } 
    Count(0,count); 
}); 

如何为无线电做到这一点?我想,如果您选择第1项然后选择第2项 - js MINUSnormochas项目1的值和PLUS项目2的值到normochas

<ul> 
<li><input type="radio" name="cms" value="5" /> Item 1</li> 
<li><input type="radio" name="cms" value="13" /> Item 2</li> 
</ul> 
+0

通常只能有一个无线电选择,这就是为什么是无线电......我不明白你想要做什么。 – elclanrs 2012-04-22 22:00:21

+0

如果您希望标记为“Item 1”的单选按钮的值减去了,是否有任何理由不能将其设为负数? – 2012-04-22 22:05:41

回答

3

就可以计算出它们的值是这样的:

$("input[type=radio], input[type=checkbox]").change(function(){ 

    var radios = 0; 
    var checkboxes = 0; 

    $("input[type=radio]:checked").each(function(){ 
     radios += parseInt($(this).val()); 
    }); 

    $("input[type=checkbox]:checked").each(function(){ 
     checkboxes += parseInt($(this).val()); 
    }); 

    alert(radios + checkboxes); 

});