如何在点击行td时返回表行数据?

时间:2016-09-23 09:53:00

标签: jquery html onclick html-table

当我单击该表行上的按钮时,我正在尝试将行数据作为数组返回。在SO上搜索使用import pyximport pyximport.install() import imp module = imp.load_source('module.name', pyxfilename) 给我this example

但是,当我运行Web应用程序并单击任何表行上的成功按钮时,控制台中返回的数组为空。

enter image description here

我已经验证每个表行包含数据,所以我不确定为什么没有使用map函数返回数据。

我也知道该功能在点击children.map

按钮时触发

问题:

如何在点击行td?

时返回表格行数据

这是表的要点以及映射行数据的相关jQuery函数:

class="btn-success".

JQuery函数:

<table id="statusTable" class="table table-hover table-bordered results">
            <thead>
                <tr>
                    <th style="visibility:hidden;" >ID</th>
                    <th>IT Owner</th>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Update Record</th>


                </tr>
            </thead>
            <tbody>
            @foreach (var row in Model.ReleaseStatus)
            {
                    <tr>
                        <td style="visibility:hidden;" >@Html.Raw(row.ID)</td>
                        <td>@Html.Raw(row.Configuration)</td>
                        <td id="app_name" class="links" style="font-size: 14px;">@row.ID</td>
                        <td>@row.Configuration_Item</td>
                        <td>@row.Configuration_Name</td>
                        <td><button type="submit" class="btn btn-success btn-lg">Update</button></td>
                    </tr>
              }
            </tbody>

        </table>

3 个答案:

答案 0 :(得分:1)

您需要找到tr,然后找到td s

<强>更新

HTML

<table>
    <tr>
        <td>col #1</td>     
        <td>col #2</td>
        <td>            
            <button type="button">click me</button>
        </td>
    </tr>
</table>

JS

$("button").click(function() {
    var $td = $(this).closest('tr').children("td"),
        len = $td.length;       

    var tableData = $td.map(function(i) {   
        if(i < len -1)
            return $(this).text();
    }).get();

    console.log(tableData); // ["col #1", "col #2"]
});

jsfiddle

答案 1 :(得分:0)

$(this)是没有孩子的按钮 更改表(

)的$(“#statusTable”)
 $(".btn-success").click(function () {
        var tableData = $('#statusTable').children("td").map(function () {
            return $(this).text();
        }).get();

        console.log(tableData);
    });

答案 2 :(得分:0)

您还可以尝试td的每个循环:

$(".btn-success").click(function () {
    var selector = this.parentElement.parentElement;
    var items = [];
    $(this.parentElement.parentElement.children).each(function(a,b){            
        items.push($(this).text());
    });
    console.log(items);
});