Javascript jQuery复选框计算总值

Javascript jQuery复选框计算总值,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我试图做的是显示每个选中复选框的总数,例如:如果我选择一个值为100的复选框,然后选择另一个值为200的复选框,我得到300作为输出,如果我取消选择它,它将离开总数。我尽了我所能,但没有结果,需要一些帮助 这在html的上面 我使用PHP,因此可以更快地更改值 <?php //basisprijs en titel die erbij komen, Dit moet aangepast worden. $basisPrijs= array( ar

我试图做的是显示每个选中复选框的总数,例如:如果我选择一个值为100的复选框,然后选择另一个值为200的复选框,我得到300作为输出,如果我取消选择它,它将离开总数。我尽了我所能,但没有结果,需要一些帮助

这在html的上面 我使用PHP,因此可以更快地更改值

<?php 
    //basisprijs en titel  die erbij komen, Dit moet aangepast worden.
    $basisPrijs=
    array(
        array("titel" => 'template1', "prijs" => '100'),
        array("titel" => 'template2', "prijs" => '200'),
        array("titel" => 'template3', "prijs" => '300'),
        array("titel" => 'template4', "prijs" => '400')
    );
    //onderdelen en titel die erbij komen, Dit moet aangepast worden.
    $onderdelen=
    array(
        array("titel" => 'Table', "prijs" => '100'),
        array("titel" => 'Checkbox', "prijs" => '200'),
        array("titel" => 'List', "prijs" => '300'),
        array("titel" => 'Selectbox', "prijs" => '400')
    );
    $titel="Bereken tool";
    $check="Bestellen";
    ?>   

这是在head和Jquery之后

 <body>
  <!-- <script type="text/javascript"></script> -->
  <div class="container">
    <div id="content">
      <h3><?php echo $titel; ?></h3>
      <form action="index.php" method="post">
        <div class="checkbox">
           <?php foreach($onderdelen as $key => $value)
           {echo "<div class='checkbox'>
           <label><input class='check' type='checkbox' value='".$onderdelen[$key]["prijs"]."' 
            name='".$onderdelen[$key]["titel"]."'>"
            .$onderdelen[$key]["titel"]."</label></div>"
                        ;}?>
          </div>
        </form>
      <div>
      <button type="button" class="btn btn-default"><?php echo $check; ?></button>
      <p id="output">output:</p>
    </div>
  </div>
</div> 
<script>
  $(document).ready(function() { 
            $(".check").change(function() {
               var prijs= this.checked ? this.value : '';
               $("#output").text(prijs); 
            });
        });   
 </script>

试试这个(我没有试过,但这就是概念):


$(文档).ready(函数()
{ 
$('.check').change(函数()
{
var totalPrijs=0;
$('.check')。每个(函数(){
如果(选中此项){
totalPrijs+=parseInt($(this.val());
}
});
$(“#输出”).text(totalPrijs);
});
});   

您也可以通过在包装
div
上附加一个
change
侦听器来侦听复选框更改。 在处理程序中,将
total
设置为零,并使用类
遍历所有已检查的输入。检查
,按值增加
total
,最后显示结果

$('.checkbox').on('change', function () {
    var total = 0;
    $('.check:checked').val(function (idx, val) { // Iterates checked inputs only
        total += +val;
        return val;
    });
    $('#result').text(total);
});

需要多个复选框字段的用户可以使用此稍加修改的代码:

function countTotal () {
    var total = 0;    
    $('#' + this.id + ' .check:checked').val(function (idx, val) {
        total += +val;
        return val;
    });
    $('#res' + this.id).text(total);
}

$('.checkbox').on('change', countTotal);

注意,现在包装
div
s需要一个id。

试试这个

$(document).ready(function(){

        $(".check").change(function(){
            var tot = 0;
            $(".check:checked").each(function(){
               tot += parseInt($(this).val());              
            });
            $("#output").text(tot);
        });
});
$(document).ready(function(){

        $(".check").change(function(){
            var tot = 0;
            $(".check:checked").each(function(){
               tot += parseInt($(this).val());              
            });
            $("#output").text(tot);
        });
});