javascript - 至少选中一个复选框时显示图标

标签 javascript jquery

我在表格中显示复选框。现在,当我选中至少一个复选框时,图标必须出现,如果没有,则应该隐藏。我的图标没有隐藏。 我做错了什么?

这是我的代码

<div class="row">
    <div class="col-sm-12 ">
    <a data-toggle="modal" id="btnAdd" data-target="#myModal" class="btn"> Add Items </a> 

    <i type="icon" class="fa fa-trash " ></i>


<div>   
</div>
<table class="table" id="table"> 
    <thead>
        <tr> 
          <th><input type="checkbox" id="master"></th>                           
        </tr>

    </thead>
<tbody>
 <td><input type="checkbox"></td>                           


//table data here
</tr>
@endforeach
</tbody>
</table>


var checkboxes = $("input[type='checkbox']"),
    hideIcon = $("i[type='icon']");

checkboxes.click(function() {
    hideIcon.attr("disabled", !checkboxes.is(":checked"));
});

最佳答案

您需要在每次点击时遍历所有复选框。另外,我建议使用 prop 函数来检查“已检查”状态。然后,要隐藏它,请使用 hide 函数,或将 display 属性设置为 hidden:

$("input[type='checkbox']").click(function() {
  var atLeastOneChecked = false;
  $("input[type='checkbox']").each(function(index) {
    if ($(this).prop('checked'))
      atLeastOneChecked = true;
  });
  if (atLeastOneChecked) {
    $("i[type='icon']").show(); //built-in jquery function
    //...or...
    $("i[type='icon']").css('display','inline-block'); //or set style explicitly
  } else {
    $("i[type='icon']").hide(); //built-in jquery function
    //...or...
    $("i[type='icon']").css('display','none'); //set style explicitly
  }
});

关于javascript - 至少选中一个复选框时显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399826/

相关文章:

javascript - Vue : Input Form in a component doesn't return a value

Javascript 将值更改为对象键(谷歌应用程序脚本)

javascript - 搜索并替换子字符串 javascript

javascript - Tablesorter 解析器忽略 div 元素

javascript - 如何在谷歌地图上拖动时绘制折线

android - 如何动态更改jquery mobile中的固定 header

jquery - 滚动过去后如何使 div 内的元素变粘?

javascript - 解析 - 拆分我的 app.js 文件

javascript - 模态弹出并提交时如何删除url中的#

javascript - 如何在 JavaScript 中增加页面加载时文本字段的值?