获取所选数据表行的ID,并将其传递给用于多行删除的函数

时间:2019-11-30 08:19:25

标签: javascript datatable

我得到的这段代码几乎可以完成我想要的

<script> $(document).ready(function() {
    var table=$('#dataTable').DataTable();
    $('#dataTable tbody').on( 'click', 'tr', function () {
        $(this).toggleClass('selected');
    }
    );
    $('#button').click( function () {
        alert( table.rows('.selected').data().length +' row(s) selected');
    }
    );
}

);
</script>
<button type="button" id="button">select all</button>

它在alert()中显示;选择了多少行。但是我要做的是在表的第一列中获取ID,并将其通过此函数进行删除

function confirmRemove(id) {
    if (id) {
        $.ajax( {
            url: "product-delete.php", type: "post", data: {
                id_delete: id
            }
            , success:function(response) {
                var productTable=$("#dataTable").DataTable();
                productTable.ajax.reload(null, false);
                swal( {
                    title: "SUCCESS!", text: "Product Deleted!", icon: "success", timer: 1800, button: false,
                }
                );
            }
            , error: function(jqXHR, textStatus, errorThrown) {
                console.log(errorThrown);
            }
        }
        );
        return false;
    }
}

1 个答案:

答案 0 :(得分:0)

您必须遍历selected数据表行,并获得第一列,并将其传递给confirmRemove函数。下面的代码可以做到这一点:

$('#button').click(function () {

     var data = table.rows('.selected').data();
     data.each(function (value, index) {
     //call the delete function
     confirmRemove(value[0]);
     });
}