【问题标题】:Get siblings of selected checkbox in javascript or jquery在javascript或jquery中获取选定复选框的兄弟姐妹
【发布时间】:2021-09-24 08:54:05
【问题描述】:

我想要做的是在单击按钮 A(删除)时选择输入复选框 B 之后,然后我想获取所选复选框的所有兄弟并找到删除按钮并检查该按钮是否被禁用。 我尝试的是

$("body").on('click', '#deleteAll', function (e) {
  if ($("input:checkbox").is(':checked').siblings('.delete-website').is(':disabled')){
   $("#deleteAll").attr("disabled", true);
  }}

感谢您的宝贵时间

【问题讨论】:

  • 请点击edit,然后点击[<>] sn-p 编辑器并提供minimal reproducible example
  • is 不返回 jquery 对象,因此您不能链接 .siblings
  • 我认为你需要filter(),而不是is()
  • 你的意思是$("input:checkbox").filter(':checked').siblings('.delete-website').filter(':disabled')
  • 你可以获取父节点,然后是父节点的子节点。然后删除/隐藏不是当前节点的子节点。对不起,我现在写JS代码太复杂了。 jquery 中可能还有另一个更简单的解决方案

标签: javascript html jquery css css-selectors


【解决方案1】:

你是说这个吗?

let dis = $('.someClass:checked')
  .map(function() {
    return $(this).closest('tr').find('.delete-website:disabled').length > 0
  })
  .get()
  .some(bool => bool)
console.log(dis)
$("#deleteAll").attr("disabled", dis)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label><input type="checkbox" id="deleteAll">Delete all</label>
<table>
  <tr>
    <td><input type="checkbox" class="someClass" checked></td>
    <td><button disabled class="delete-website">Trash</button></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="someClass"></td>
    <td><button class="delete-website">Trash</button></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="someClass"></td>
    <td><button disabled class="delete-website">Trash</button></td>
  </tr>
</table>

【讨论】:

  • 有点,但是在单击(启用按钮)(全部删除)按钮后的结果中应该启用,并且所有这些事情都应该在单击全部删除按钮后发生。谢谢你。帮助不大
  • 我不能在单击#deleteAll 按钮时获得选中复选框的兄弟姐妹吗?有可能吗?
  • $('.someClass:checked')` 都是 someClass 类的选中复选框...
  • 很好。我明白了..它正在工作..谢谢... if($("input[name='delid[]']:checked").closest('tr').find('.delete-website'). is(":disabled"));
  • 如果你一开始就发布了 HTML,我可以为你做到这一点。 :)
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多