如何在jquery数据表中获取多个复选框选中的值

Posted

技术标签:

【中文标题】如何在jquery数据表中获取多个复选框选中的值【英文标题】:How to get multiple checkbox checked value in jquery datatable 【发布时间】:2019-07-06 22:08:04 【问题描述】:

单击按钮时,我想从datatables 中获取多行选定值。从我下面的代码中,我只得到第一行选择的值。

function AssignVendor() 
    var table = $(assignVendor).DataTable();
    var data = table
            .row( selected: true )
            .data();
<table id="assignVender" class="mp myTable table table-striped table-bordered" cellspacing="0"  ui-jq="dataTable" ui-options="dataTableOpt">

                        <thead>
                            <tr>
                                <th class="select-checkbox"></th>
                                <th>MP Name</th>
                                <th>MP Code</th>
                                <th>Vendor Name</th>
                                <th>Vendor Code</th>
                                <th>From Date</th>
                                <th>To Date</th>
                                <th>Remarks</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="mp in MaintenanceZones">
                                <td></td>
                                <td>mp.MP_NAME</td>
                                <td>mp.MP_CODE</td>
                                <td>mp.REMARK</td>
                                <td>mp.VENDORNAME</td>
                                <td>mp.VENDORCODE</td>
                                <td>mp.VFRDATE</td>
                                <td>mp.VTODATE</td>

                            </tr>

                        </tbody>
                    </table>

请帮忙

【问题讨论】:

应该是table.rows().data() - datatables.net/reference/api/rows().data() 从所有行中选择值。您的代码 table.row().data() 正在选择单行。 【参考方案1】:

试试这个

    $('#assignVender').on( 'click', 'tr', function () 
        $(this).toggleClass('selected');
     );

function AssignVendor() 
    var table = $(assignVendor).DataTable();
    var data = table.rows('.selected').data();

参考:https://datatables.net/examples/api/select_row.html

要循环遍历数据,请使用以下命令:

data = table.rows('.selected').data();
data.each( function ( value, index ) 
        console.log( 'Data in index: '+index+' is: '+value );
     );

【讨论】:

当没有选中复选框时 data = table.rows('.selected').data(); data.length 应该返回 0 ,你可以设置一个条件 如果长度为 0 则显示警报,否则运行循环

以上是关于如何在jquery数据表中获取多个复选框选中的值的主要内容,如果未能解决你的问题,请参考以下文章

怎用jquery获取下拉菜单当前选中的值? $("#id").val(); 这个只能获取第一个?求解答????

jquery怎样获取多个复选框的值?

在winform中如何获取两个单选框中选中的那个值

如何使用jQuery获取所有选中复选框的值

想要使用 jquery 获取选中复选框的所有值

jquery 如何获取单选框的值?