【问题标题】:jquery - calculate all checkbox checked with checkAll buttonjquery - 计算使用 checkAll 按钮选中的所有复选框
【发布时间】:2020-08-25 21:30:02
【问题描述】:

我有脚本将 div 中所有选中的复选框值与 class="show_list_item" 相加。它工作正常。

我还有脚本允许用户一键检查所有复选框(id="checkAll")。它也运行良好。

当用户使用“checkall”按钮时,脚本不再计算选中/选中的值。

我该如何解决?

JQUERY

// CALCULATE TOTAL CHECKED
$('input:checkbox').change(function ()
{
    var total_srvs_amount = 0;
    $('.show_list_item input[name="amount"]:checkbox:checked').each(function(){ 
        
        total_srvs_amount += isNaN($(this).val()) ? 0 : Number ($(this).val());
        
    }); 
    
    $("#total_sum").text(total_srvs_amount);
});

// CHECK ALL CHECKBOXS
$(function () {
    var chkMain = $('.checkAll input:checkbox#checkAll , .checkAll input:checkbox.checkAllBtn');
    $(chkMain).change(function () {
        $('.checkAll input:checkbox').not(this).prop('checked', this.checked);

    });

});

HTML

<div id="1" class="obj_res_box show_list_item">

    <input type="checkbox" class="" value="" id="checkAll">

    <table class="checkAll">
        <tr>
            <td><input type="checkbox" name="amount" value="138.75"></td>
            <td><input type="checkbox" name="amount" value="120"></td>
            <td><input type="checkbox" name="amount" value="64"></td>
        </tr>
    </table>
</div>

<div id="2" class="obj_res_box hide_list_item">
....
</div>

<div id="total_sum">0</div>

【问题讨论】:

标签: jquery


【解决方案1】:

//CHECK ALL CHECKBOXS 函数出错。

我已经更正了。请查看

// CALCULATE TOTAL CHECKED
$('input:checkbox').change(function ()
{
    var total_srvs_amount = 0;
    $('.show_list_item input[name="amount"]:checkbox:checked').each(function(){ 
        
        total_srvs_amount += isNaN($(this).val()) ? 0 : Number ($(this).val());
        
    }); 
    
    $("#total_sum").text(total_srvs_amount);
});

// CHECK ALL CHECKBOXS
$(function () {
    var chkMain = $('input:checkbox#checkAll');
    $(chkMain).change(function () {
        $('.checkAll input:checkbox').prop('checked', this.checked);
       $('.checkAll input:checkbox').trigger('change');
    });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="1" class="obj_res_box show_list_item">

    <input type="checkbox" class="" value="" id="checkAll">

    <table class="checkAll">
        <tr>
            <td><input type="checkbox" name="amount" value="138.75"></td>
            <td><input type="checkbox" name="amount" value="120"></td>
            <td><input type="checkbox" name="amount" value="64"></td>
        </tr>
    </table>
</div>

<div id="2" class="obj_res_box hide_list_item">
....
</div>

<div id="total_sum">0</div>

【讨论】:

  • 谢谢。 “checkAll”按钮工作(与以前相同),但它仅在我双击它时计算复选框值(当我再次单击它时删除复选框 checkAll 按钮)
猜你喜欢
  • 2017-04-03
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-29
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多