【问题标题】:Get multiple value that selected from Datatable Jquery获取从 Datatable Jquery 中选择的多个值
【发布时间】:2021-12-26 15:42:28
【问题描述】:

我在从 excel 导入的数据表中获取值时遇到了一些问题。

我想传递选中的行(至少可以在alert中查看),就是这样。

我想要的价值是这样的

姓名:A. Mused,无生命值:087.... 姓名:艾达·布格,无生命值:089.... 姓名:艾莉·格拉特,无生命值:087...

但结果就像这个截图: result popup alert and data

代码如下:

html

 @if (Model != null)
    {
        <table id="tablePenerima" class="table table-striped table-bordered animate__animated animate__fadeInRight" cellpadding="0" cellspacing="0">
            <thead>
                <tr>
                    
                    @foreach (DataColumn col in Model.Tables[0].Columns)
                    {

                        <th align="center">@col.ColumnName</th>
                    }
                </tr>
            </thead>
            <tbody>
                @foreach (DataRow row in Model.Tables[0].Rows)
                {
                    <tr >
                       
                        @foreach (DataColumn col in Model.Tables[0].Columns)
                        {

                            <td align="center">@row[col.ColumnName]</td>
                        }

                    </tr>
                }
            </tbody>
        </table>
    }

和javascript:

 $(document).ready(function () {
        var table = $('#tablePenerima').DataTable({
            dom: 'Bfrtip',
            buttons: [
               
                'selectAll',
                'selectNone',
                
            ],
            select: true
        });

        $('#tablePenerima tbody').on('click', 'tr', function () {
            $(this).toggleClass('selected');
        });

        $('#btnBlast').click(function () {
            var ids = $.map(table.rows('.selected').data(), function (item) {
                return item[0]
            });
            var data = $('#tablePenerima').DataTable().row('.selected').ids();
            console.log(ids);
            alert("Name:" + ids[0] + "\nNo HP:" + ids[2]);

           });
    });

我希望大家能解决我的问题,因为我的js知识还很薄弱。谢谢:)

【问题讨论】:

    标签: javascript c# html jquery datatable


    【解决方案1】:

    我没有使用 DataTable 包的经验,但我认为问题出在您的 map 函数上。它返回所选行的第一行。

    var ids = $.map(table.rows('.selected').data(), function (item) {
                    return item[0]
                });
    

    代替

    return item[0]
    

    您应该返回所有选定的行;

    return item
    

    $('#btnBlast').click事件中

    【讨论】:

    • 天哪,你救了我的命,谢谢。但我怎样才能检索我选择的行,而不仅仅是单行。因为现有代码只传递了我选择的第一行。谢谢:)
    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多