$('input[type=checkbox]:checked').each 不执行第二次

$('input[type=checkbox]:checked').each not executing second time around

我有以下代码,即使选中了复选框,它在第二次执行时也不会执行。请帮忙。谢谢

编辑:我刚刚添加了获取 table 中哪些行已使用复选框选中的代码。很抱歉 post 的代码太多了。 基本上第二次它确实得到了正确的行但是迭代选中的复选框的第二个函数没有 运行.

$('input[type=checkbox]').each(function() { 
            if (this.checked == true){
                var del_id = $(this).parents("tr").data();
                console.log('!del_id', del_id);
                del_arr.push(del_id.id);
                myData ={"spreadsheets_ids": del_arr};
                console.log('mydata:', myData);

            }
        });
             ///OFF TO AN AJAX CALL AND LOTS OF OTHER STUFF HAPPENS

在它回到下面之前

$('input[type=checkbox]:checked').each(function() {
    var $tr =  $(this).closest('tr');
    var del_id = $tr.attr('data-id');
    console.log('STILL TO BE DELETED:  =' + del_arr);

    $.each(del_arr, function(index, value ) {

        console.log('EVEN STILL TO BE DELETED:  =' + del_arr);

        if (value == del_id){
            $tr.remove();
            console.log('Removing :'+  del_id +' And ' + value);
            return false;
        }
    });
})



$('input[type=checkbox]').each(function() { 
    $(this).prop('checked', false);
    if (this.checked == true){
        console.log('I am still checked')
    }
});

您还没有将 each 包装在 checkboxchange 事件处理程序中。

$(':checkbox').on('change', function() {

    $(':checkbox:checked').each(function() {
        var $tr = $(this).closest('tr');
        var del_id = $tr.attr('data-id');

        $.each(del_arr, function(index, value) {
            if (value == del_id) {
                $tr.remove();
                return false;
            }
        });
    });
});

而不是这个...

$('input[type=checkbox]:checked').each(function() {

这就是现在的工作..

$('input[type=checkbox]').each(function () {