选中特定复选框时如何显示和隐藏 div?

普尼特

我有多个复选框有自己的相关 div,当单击一个复选框时,它会显示其相关的 div,而未选中则隐藏它....问题是当我单击另一个复选框时,它会隐藏其他以前的复选框 div。

var x = document.getElementById("icon");
function hide(event) {
  if (event.checked) {
    if (x.style.display === "block") {
      x.style.display = "none";
     } else {
	    x.style.display = "block";
       }
   } else {
	if (x.style.display === "block") {
	   x.style.display = "none";
	} else {
	      x.style.display = "block";
	  }
     }
  }
 
<html>
   <body>
    <label><input type="checkbox" name="checkbox[]" onchange="hide(this)" id="extra" value="something"/>something
      <div id="icon"><a href="#"><i id="subs" class="fa fa-minus-circle"></i></a><br>
          <input type="text" id="noOfRoom" value="0" /><br>
          <a href="#"><i id="adds" class="fa fa-plus-square"></i></a>
	</div>
    </label>
   <label><input type="checkbox" name="checkbox[]" onchange="hide(this)" id="extra" value="something1"/>something1
	   <div id="icon"><a href="#"><i id="subs" class="fa fa-minus-circle"></i></a><br>
            <input type="text" id="noOfRoom" value="0" /><br>
    		<a href="#"><i id="adds" class="fa fa-plus-square"></i></a>
	    </div>
   </label>
   <label><input type="checkbox" name="checkbox[]" onchange="hide(this)" id="extra" value="something2"/>something2
	  <div id="icon"><a href="#"><i id="subs" class="fa fa-minus-circle"></i></a><br>
      	  <input type="text" id="noOfRoom" value="0" /><br>
    	  <a href="#"><i id="adds" class="fa fa-plus-square"></i></a>
	   </div>
    </label>
  </body>
 </html> 

我试图为每个单独的功能,但如果有 50 个这样的复选框,那么代码太长了。那么我如何解决我的问题。

不知道这是否是基本的,但只是编程的新手。

谢谢你。

古鲁普拉萨德·J·拉奥

请提供唯一的ID在你的每一个元素HTML DOM如果你想保持奇异性,你可以提供class而不是id. 我提供了 jquery 解决方案。检查下面的代码段,并让我们知道任何查询。

$('.extra').on('change', function() {
  if ($(this).prop('checked')) //if it is checked
    $(this).closest('label').find('.icon').show(); //show the div with class icon
  else
    $(this).closest('label').find('.icon').hide(); //hide the div
});
.icon {
  display: none;
}

label {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
   <input type="checkbox" name="checkbox[]" id="extra" class="extra" value="something"/>something
   <div class="icon"><a href="#"><i id="subs" class="fa fa-minus-circle"></i></a><br>
      <input type="text" id="noOfRoom" value="0" /><br>
      <a href="#"><i id="adds" class="fa fa-plus-square"></i></a>
   </div>
</label>
<label>
   <input type="checkbox" name="checkbox[]" id="extra1" class="extra" value="something1"/>something1
   <div class="icon"><a href="#"><i id="subs1" class="fa fa-minus-circle"></i></a><br>
      <input type="text" id="noOfRoom" value="0" /><br>
      <a href="#"><i id="adds1" class="fa fa-plus-square"></i></a>
   </div>
</label>
<label>
   <input type="checkbox" name="checkbox[]" id="extra2" class="extra" value="something2"/>something2
   <div class="icon"><a href="#"><i id="subs2" class="fa fa-minus-circle"></i></a><br>
      <input type="text" id="noOfRoom" value="0" /><br>
      <a href="#"><i id="adds2" class="fa fa-plus-square"></i></a>
   </div>
</label>

您还可以将上述内容更新jquery为更简单的版本。

$('.extra').on('change', function() {
    $(this).closest('label').find('.icon').toggle($(this).prop('checked')); 
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

选中复选框时显示/隐藏div

来自分类Dev

javascript在复选框上隐藏/显示div:已选中/未选中

来自分类Dev

未选中复选框时隐藏div

来自分类Dev

取消选中复选框并显示div

来自分类Dev

jQuery / JavaScript:选中所有复选框并选中每个复选框以显示div

来自分类Dev

通过复选框cookie显示和隐藏div

来自分类Dev

仅在选中特定复选框时显示“ div”框

来自分类Dev

如果在React JS中选中了复选框,如何隐藏或显示div

来自分类Dev

取消选中复选框时显示div

来自分类Dev

单击按钮时,使用JQuery显示带有选中复选框的div

来自分类Dev

如何通过单击包含复选框的div来选中/取消选中复选框?

来自分类Dev

如果选中了复选框,则显示div,否则隐藏,除非选中了“显示全部”复选框

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

在选中的复选框上显示div选中php

来自分类Dev

javascript在复选框上隐藏/显示div:已选中/未选中

来自分类Dev

如果选中复选框,则显示和隐藏div

来自分类Dev

选中复选框时,jQuery显示子div

来自分类Dev

使用JQuery选中复选框时,如何隐藏然后显示多个Div

来自分类Dev

如果复选框被选中,则显示/隐藏div(通过搜索槽对象属性)

来自分类Dev

根据带有组合框选项的选中复选框显示和隐藏div

来自分类Dev

如果未选中特定的复选框按钮,如何不显示div区域?

来自分类Dev

如果未选中该复选框,如何隐藏该复选框的父div?

来自分类Dev

对选中复选框时显示/隐藏div的方法进行故障排除

来自分类Dev

在选中和取消选中复选框时显示和隐藏div

来自分类Dev

如果在 angular2 中选中/取消选中最后一个复选框,如何显示/隐藏 div?

来自分类Dev

使用asp.net在gridview中选中复选框时更改div显示

来自分类Dev

在选中复选框之前隐藏 div

来自分类Dev

当不再选中过滤器复选框时,如何再次显示所有 div?

Related 相关文章

  1. 1

    复选框选中和取消选中后,提交操作后显示和隐藏div

  2. 2

    选中复选框时显示/隐藏div

  3. 3

    javascript在复选框上隐藏/显示div:已选中/未选中

  4. 4

    未选中复选框时隐藏div

  5. 5

    取消选中复选框并显示div

  6. 6

    jQuery / JavaScript:选中所有复选框并选中每个复选框以显示div

  7. 7

    通过复选框cookie显示和隐藏div

  8. 8

    仅在选中特定复选框时显示“ div”框

  9. 9

    如果在React JS中选中了复选框,如何隐藏或显示div

  10. 10

    取消选中复选框时显示div

  11. 11

    单击按钮时,使用JQuery显示带有选中复选框的div

  12. 12

    如何通过单击包含复选框的div来选中/取消选中复选框?

  13. 13

    如果选中了复选框,则显示div,否则隐藏,除非选中了“显示全部”复选框

  14. 14

    复选框选中和取消选中后,提交操作后显示和隐藏div

  15. 15

    在选中的复选框上显示div选中php

  16. 16

    javascript在复选框上隐藏/显示div:已选中/未选中

  17. 17

    如果选中复选框,则显示和隐藏div

  18. 18

    选中复选框时,jQuery显示子div

  19. 19

    使用JQuery选中复选框时,如何隐藏然后显示多个Div

  20. 20

    如果复选框被选中,则显示/隐藏div(通过搜索槽对象属性)

  21. 21

    根据带有组合框选项的选中复选框显示和隐藏div

  22. 22

    如果未选中特定的复选框按钮,如何不显示div区域?

  23. 23

    如果未选中该复选框,如何隐藏该复选框的父div?

  24. 24

    对选中复选框时显示/隐藏div的方法进行故障排除

  25. 25

    在选中和取消选中复选框时显示和隐藏div

  26. 26

    如果在 angular2 中选中/取消选中最后一个复选框,如何显示/隐藏 div?

  27. 27

    使用asp.net在gridview中选中复选框时更改div显示

  28. 28

    在选中复选框之前隐藏 div

  29. 29

    当不再选中过滤器复选框时,如何再次显示所有 div?

热门标签

归档