使用Jquery对另一个div中的两个div的内容求和

时间:2014-04-29 19:29:44

标签: jquery html checkbox

如何将一个div中的内容和另一个div中的内容相加。 我试过这个。

一个div中已选中复选框的总和

<script>
$(document).ready( function() {
$(".marca").click(
    function () {
        var ntot = 0;
        $(".marca:checked").each(function () {
            ntot += parseFloat($(this).val());
        });
        $("#totalcreditos").val(ntot);
    })
    .change();
});


</script>

复选框的另一个部分。

<script>
$(document).ready( function() {
$(".marca1").click(
    function () {
        var ntot = 0;
        $(".marca1:checked").each(function () {
            ntot += parseFloat($(this).val());
        });
        $("#totalcreditos1").val(ntot);
    })
    .change();
});

在这里,我试图在div之前将两者相加,将所有复选框放在span标记内。

</script>
<script>
$(document).ready( function() {
$(".marca2").click(
    function () {
        var ntot = 0;
        $(".marca2:checked").each(function () {
            ntot += parseFloat($(this).val());
        });
        $("#totalcreditos2").val(ntot);
    })
    .change();
});


</script>

HTML:

<span class="marca2"><input class="marca" type="checkbox" name="carga[0]"   
id="checkbox1" value="5.62"></span>
<span class="marca2"><input class="marca" type="checkbox" name="carga[1]"  
id="checkbox2" value="6.62"></span>


<p>Total Creditos:
<input type="text" id="totalcreditos" value="" />
</p>


<span class="marca2"><input class="marca1" type="checkbox" name="carga[2]"  
id="checkbox3" value="5.62"></span>
<span class="marca2"><input class="marca1" type="checkbox" name="carga[3]"  
id="checkbox4" value="6.62"></span>


<p>Total Creditos:
<input type="text" id="totalcreditos1" value="" />
</p>


<p>Total Creditos:
<input type="text" id="totalcreditos2" value="" />
</p>

任何帮助都会非常有帮助

感谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

var ntot = $('.marca2 input:checked').get()
    .map(function(el) { return parseFloat($(el).val()); })
    .reduce(function(a, b) { return a + b; }, 0)
;
$('#totalcreditos2').val(ntot);

答案 1 :(得分:0)

您正在使用类marca2查找已检查的元素,您希望 marca2包装内的已检查元素

 $(".marca2 input:checked").each(function () {
   ntot += parseFloat($(this).val());
 });