如何通过 Jquery 从表中查找按列指定的行的索引和值?

Posted

技术标签:

【中文标题】如何通过 Jquery 从表中查找按列指定的行的索引和值?【英文标题】:How to find an index and value of rows specify by column from tables by Jquery? 【发布时间】:2016-07-06 01:05:00 【问题描述】:

我想按如下描述按行和列位置选择表格的值。 此表由 appendTo 方法用于 .tbody 选择器,然后我有更多行,如下所示,我只显示两行,每一行我都有 .Open 选择器用于用户点击以通过该行的当前位置或索引获取第 4 列 上的值。

这里是 html

<table class"mytable">
    <tbody class="tbody">
        <tr>
            <td>1</td>
            <td>THB-PP-000001</td>
            <td>1005-000001</td>
            <td>100</td> //this is the column id I want to get it
            <td><button type="button" class="open"> Open by Id </button></td>
        </tr>
        <tr>
            <td>1</td>
            <td>THB-PP-000001</td>
            <td>1005-000001</td>
            <td>101</td> //this is the column id I want to get it
            <td><button type="button" class="open"> Open by Id </button></td>
        </tr>
    </tbody>
</table>

这是 JS:

$(document).on("click", ".open", function () 

    var inde = $("table tbody tr td:nth-child(4)").text();
    console.log(inde);
);

感谢帮助

【问题讨论】:

【参考方案1】:

尝试使用.parent().prev() 来获取您需要的数据,

$(document).on("click", ".open", function () 
    var inde = $(this).parent("td").prev().text();
    console.log(inde);
);

如果您的 html 有一个 tbody 作为静态节点,那么您可以使用 .tbody 代替 document

【讨论】:

@Rajapabhu 如果我的表格行像 1 THB-PP-000001 101 //这是列id 我想得到它 1005-000001 1005-000001 我们如何使用 Prev() 方法? 如果我使用这个 var inde = $(this).parent("td").prev().prev().prev().prev().prev ()。文本();?我将使用 Prev() 方法找到我想要的列的位置 @HengSopheak 所以你不会有正确的顺序列?有什么模式吗?或者是否可以向所需的 td 添加一个类? OH 所以用这种方法我不能使用 nth-child() 或其他技术而不添加任何选择器权利 @HengSopheak 你可以使用nth-child(), $(this).parent().siblings("td").filter(":nth-child(4)").text()

以上是关于如何通过 Jquery 从表中查找按列指定的行的索引和值?的主要内容,如果未能解决你的问题,请参考以下文章

从表中选择不同的记录并执行重复行的列总和(托盘、总和)。并显示重复的行一次[关闭]

Mysql系列—— 索引下推优化

如何打开模态 jquery 并从表中获取单元格值?

找出删除和更新的行

动态SQL从表中执行大量行

如何删除EXCEL表中的大量数据行,要删除的行数大概8万