如果选中复选框,则循环遍历表行并返回列值[重复]

Posted

技术标签:

【中文标题】如果选中复选框,则循环遍历表行并返回列值[重复]【英文标题】:Loop through table rows and return column value if checkbox checked [duplicate] 【发布时间】:2020-08-14 09:57:53 【问题描述】:

如果使用 jquery 选中该行的复选框,我如何才能仅获取串行列中的值?我目前可以获取序列值,但不确定如何添加复选框条件。

html

<table id="usersTable">
   <thead>
     <tr>
       <th>Name</th>
       <th>Serial</th>
       <th>Status</th>
       <th>Enabled</th>
    </tr>
  </thead>
  <tbody>
    <tr>
       <td>Name 1</td>
       <td>111111</td>
       <td>Online</td>
       <td><input type="checkbox"></td>
   </tr>
   <tr>
       <td>Name 2</td>
       <td>222222</td>
       <td>Offline</td>
       <td><input type="checkbox"></td>
   </tr>
   <tr>
       <td>Name 3</td>
       <td>333333</td>
       <td>Online</td>
       <td><input type="checkbox"></td>
   </tr>
  </tbody>
</table>

jquery:

$('#usersTable > tbody  > tr').each(function (index, tr) 
      console.log($(this).find('td:nth-child(2)').text());

 );

【问题讨论】:

***.com/questions/2204250/… 你可能想看看这个链接 console.log( $(this).find('input').is(':checked') ) // 返回真假 【参考方案1】:

有一百万种方法可以做到这一点,但希望这是有用/有帮助的。

解决方案的要点是循环遍历您所做的每一行,然后仅在选中同一行的复选框时记录第二列的文本。

$('#usersTable > tbody  > tr').each(function() 
  const currentRow = $(this);
  const lastColumn = currentRow.find('td:last-child')

  if (lastColumn.find('input').attr('checked')) 
    console.log(currentRow.find('td:nth-child(2)').text());
  
);

【讨论】:

以上是关于如果选中复选框,则循环遍历表行并返回列值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果我选中了父复选框,则所有子复选框都将在 php while 循环中被选中 [重复]

Jquery遍历表行并获取第n个子值

如果 MYSQL 列值为 true,则选中复选框

循环遍历表行

如何将我的自定义 jquery 表行过滤与 datatables.net 集成?

Jquery比较用复选框选择的表行并比较列