通过jquery = jquery ajax每个选中的复选框的动作来选中所有复选框

时间:2019-05-06 17:53:36

标签: jquery ajax post

我有一个jquery链接,可以选中/取消选中所有复选框

$('#check_all_link').click(function(){
    $('.checker').prop('checked', this.checked);
});

当我手动选中一个复选框时,我通过jquery将其发送到脚本:

$("input.checker").click(function() {

    var check_active = $(this).is(':checked') ? 1 : 0;
    var photo_id = $(this).attr('value');
    var photodb_id = 6;

    $.ajax({
        type: "POST",
        url: "jobticket_ajax/cart.php",
        data: {photo_id: photo_id, check_active: check_active, 
        photodb_id: photodb_id},
        success: function(){

        }
    });
 return true;
 });

我怎么也可以通过$('#check_all_link')。click(function()发送$ .ajax(如果选中该怎么办)?

3 个答案:

答案 0 :(得分:0)

我猜这就是你需要的,

$(".chk").change(function(){
    if ($('.chk:checked').length == $('.chk').length) {
       alert('Ajax call');
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<label><input type='checkbox' class='chk' name='check[]' /> Check 1</label>
<label><input type='checkbox' class='chk' name='check[]' /> Check 1</label>
<label><input type='checkbox' class='chk' name='check[]' /> Check 1</label><label><input type='checkbox' class='chk' name='check[]' /> Check 1</label>

希望这对您有帮助!

答案 1 :(得分:0)

我会做这样的事情:

$('#check_all_link').click(function(){
    var checked = $(this).is(':checked');
    $('.checker').each(function(i, chk){    
        $(chk).prop('checked', checked);
        $(chk).trigger('change');
    });
});

答案 2 :(得分:0)

我有解决办法

$('input.active').trigger('click');