2011-12-14 96 views
2

我想要獲取所有選中複選框的總值。我試過的是這樣的:選中複選框的計數值

$("input[type=checkbox]:checked").each(function() { 
      total_modules += parseFloat($(this).val()); 
     }); 
     $("#total_modules").text(total_modules.toFixed(2)); 

這沒有奏效。

我希望有人能幫助我。

在此先感謝!

PS:我固定它,這是我的新代碼:

function calculation() 
    { 
    $("input[type=checkbox]:checked").each(function() { 
      total_modules += parseFloat($(this).val()); 
     }); 
     $("#total_modules").text(total_modules.toFixed(2)); 
    } 
    calculation(); 

    $("input[type=checkbox]").click(function() 
    { 
     calculation(); 
    }); 

謝謝大家

+0

而不是使用`$(本).VAL()`你可以使用本地代碼`THIS.VALUE」的。 – rahul 2011-12-14 10:59:19

回答

0

你可以做$("input[type=checkbox]:checked").length得到選中的複選框的數量。

看看這個jsFiddle

0

使用length屬性

var checkcount = $(":checkbox:checked").length; 
-1

難道是小數點分隔符是不正確的?我認爲這需要一個。爲parseFloat正常工作。

你還需要檢查解析值與

isNaN(parsedValue) 
0

一些下面的代碼應該用jQuery版本1.7.1工作

JQUERY

$("#test").click(function() { 
var tot = 0; 
    $.each($("input[type=checkbox]:checked"), function (k, v){ 
    var val =parseFloat($(this).val()); 
    tot = parseFloat(tot + val); 
    }) 
     alert(tot); 
}); 

HTML

<input type="checkbox" value ="10.2"/> 
<input type="checkbox" value ="10.2"/> 
<input type="checkbox" value ="10.2"/> 
<input type="checkbox" value ="10.2"/> 

<input type="buttoN" id="test" value="click me"/> 
0

你可以這樣做

$(function(){ 
    var checkboxes = $("input:checkbox"); 
    checkboxes.change(function(){ 
     var total = 0.0; 

     checkboxes.filter(":checked").each(function(){ 
      total += parseFloat(this.value); 
     }); 

     alert (total) 
    }); 
}); 

看到一個working demo