微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在服务器端模式下使用 DataTables 复选框插件获取所有选定的行

如何解决在服务器端模式下使用 DataTables 复选框插件获取所有选定的行

我在我的 asp.net core 3.1 程序中在服务器端模式下使用 jquery 数据表。我在第一列中使用 gyrocode 复选框。现在我想要做的是在单击特定按钮后在模态上显示所有选中的行的数据。为此,我尝试了以下方法。但问题是如果我检查不同页面中的行,只有最后检查的数据会显示在模态上,但是如果我只在一页中检查了多行,它会正确显示模态上的检查行数据。如果有人帮助我解决问题,我将不胜感激。

<script>
    keepSelectedRows = [];
    var operationNumber = '';
    var oTable;
    var selectedIds =[];
 
    var theRowObject='';
    var rowSelectedId='';
 
 
    jQuery(document).ready(function ($) {
 
 
           oTable= $('#myDummyTable').DataTable({
 
                "serverSide": true,// for process server side
                
                "orderMulti": false,'columnDefs': [
                   {
                       'targets': 0,"searching": false,'checkBoxes': {
                           'selectRow': true
                         }
                    },{
                            'targets': 1,"visible": false
                        }
               ],rowId: "id",'select': {
                    'style': 'multi','selector': 'td:first-child'
                },"pagingType": "full_numbers","ajax": {
                "url": "ApiApplicants/GetApiApplicantsData","type": "POST","datatype": "json",},"columns": [
 
                { "data": "id1" },{ "data": "id","name": "id","autoWidth": true },{ "data": "apiRequestNo","name": "apiRequestNo",]
    });
 
        //-----------------------------------------------------------------------------------------
 
    jQuery(document).ready(function ($) {
 
 
  //#unconfirmation,$('#grantAccess).click(function () {
 
           
            $("#modalbody").empty();
 
                var OTable = $("#myDummyTable").dataTable();
 
                $("input[type=checkBox]:checked",OTable.fnGetNodes()).each(function () {
 
 
                    var row = $(this).closest('tr');
 
                   var tr = $(this).closest('tr').parents('tr');
 
                   var newRow = oTable.row(row);
 
                    keepSelectedRows.push(newRow);
                
 
                    selectedIds.push($(this).closest("tr").find("td:eq(1)").text());
 
                    var Id = $(this).closest("tr").find("td:eq(1)").text();
                   var ApiRequestNO = $(this).closest("tr").find("td:eq(2)").text();
                 
 
                    var markup = "<tr><td>"+ Id + "</td><td>" + ApiRequestNO + "</td></tr>";
 
                   $("#classtable").append(markup);
 
                });
 
               
 
 
                $("input[name='hiddeninput']").val(selectedIds);
 
                if (selectedIds.length <= 1) {
                    alert("You haven't chosen any record");
                }
                else {
                    $('#showDataModal').modal('show');
 
                }
 
            });
 
            });
 
  
@*************************************@
<div class="my-5 col-sm-12 p-4">
    @*compact webgrid-table-hidden*@
    <table id="myDummyTable" class="table m-table mytable table-striped table-bordered mb-4" style="width: auto;">
        <thead>
            <tr id="headerrow">
                <th>
                    <input type='checkBox'>
                </th>
                <th hidden>
                    ID
                </th>
                <th>
                    number
                </th>
         
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</div>
 
<div class="row">
    <div class="col-12 d-flex justify-content-center" style="padding: 23px;">
        
        <input class="btn" id="grantAccess" type="button" value="access" data-whatever="grantAccess" style="" />
    </div>
</div>
 
 
 
@*******************************************************************************************@
<div class="modal fade" id="showDataModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document">
        <div class="modal-content" style="overflow:auto;">
           
            <form method="post">
 
                <div class="modal-body pt-0">
                    <div id="result" class="">
 
                        <table id="classtable" class="table table-bordered" border="1">
                            <thead>
                                <tr id="headerrow">
                                    <th>
                                        id
                                    </th>
                                    <th>
                                        number
                                    </th>
                                     
                                </tr>
                            </thead>
                            <tbody id="modalbody">
                            </tbody>
 
                        </table>
                    </div>
 
                </div>
 
                </div>
            </form>
        </div>
    </div>
</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。