【问题标题】:I want to get the value of checkbox using jQuery我想使用 jQuery 获取复选框的值
【发布时间】:2021-12-15 12:19:44
【问题描述】:

在一个表中有多行,我想要的是如果我点击特定的用户名称,如“Sam”和“Adem”,我想获取仅与该行相关的复选框的值。

<thead>
  <tr>
    <td>Select</td>
    <td>Name</td>
    <td>Username</td>
    <td>Rank</td>
    <td>Address</td>
  </tr>
</thead>
<tbody>
  <tr>
    <td><input type="checkbox" name="" id="" value="1"></td>
    <td>Sam</td>
    <td>Sam001</td>
    <td>Admin</td>
    <td>XYZ</td>
  </tr>
  <tr>
    <td><input type="checkbox" name="" id="" value="2"></td>
    <td>Adem</td>
    <td>Adem002</td>
    <td>Manager</td>
    <td>ZYZ</td>
  </tr>
  <tr></tr>
  <tr></tr>

【问题讨论】:

  • 请将您尝试过的代码添加为minimal reproducible example
  • this(或Event#target)、closest()find() 是您完成这项工作所需的工具。
  • 欢迎来到 SO,顺便说一句。当涉及到asking a good question 和这个question checklist 时,您可能会发现阅读网站help section 很有用。
  • $("td").click(function() { alert($(this).closest("tr").find("input[type='checkbox']").val(); }) - 但你可能想知道它是否被检查而不是“获取价值”,因为你所有的例子都有value="1" - 所以只是@ 987654332@ 会更容易...
  • $('tr td:nth-of-type(2)').click(function(){ var val= $(this).parent('tr').find('td :input').val(); alert(val); }) 我已经完成了这个并且它正在工作......

标签: javascript html jquery jquery-selectors


【解决方案1】:

在 TD 元素上附加点击事件。在处理程序中使用.parent().find() 方法找到复选框。找到复选框后,使用.val() 方法获取其值。

【讨论】:

  • 复选框不太可能是 TD 的父级......您的声明暗示了这一点。您可能的意思是:使用 .parent 查找行,使用 .find 查找复选框 - 使用一些代码或使用 OPs html 的 sn-p 会更清晰。但问题本身质量低下。
  • @freedomn-m 如果您仔细阅读,我不仅提到了.parent() 方法,还提到了.find() 方法。也就是说,它首先找到 TR (.parent()),然后找到 CHECKBOX (.find())。我没有添加示例代码,因为他没有展示他写的代码。
  • 不,如果您仔细阅读,您清楚地声明 在 TD 上附加点击事件,使用 .parent 找到复选框 - 没有提及 tr - 因此我声明 td 上的父级不会找到该复选框。你可能意味着什么是无关紧要的。
  • @freedomn-m 没有必要提到 TR 是 TD 的祖先。这是一个老生常谈,在不影响对信息的理解的情况下可以省略。
  • $('tr td:nth-of-type(2)').click(function(){ var val= $(this).parent('tr').find('td :input').val(); alert(val); }) 我已经完成了这个并且它正在工作。
猜你喜欢
  • 2014-09-11
  • 1970-01-01
  • 2018-08-25
  • 2012-07-02
  • 2012-12-20
  • 2010-11-20
  • 2012-06-07
  • 2013-09-01
  • 1970-01-01
相关资源
最近更新 更多