jquery checkbox在链接区域内单击?

ecr0jaav  于 2023-06-22  发布在  jQuery
关注(0)|答案(1)|浏览(114)

赫洛
如果链接中有复选框,我也想让复选框可选择。
但现在,只有一个链接被点击,只有复选框没有被选中。
如何在选中复选框的情况下给予与选择链接相同的事件?
我也用jQuery 2.1。

<a href="#" class="linkme>
  <div>
  <span>Click here</span>
  <input type="checkbox" class="my-checkbox"> Check Me
  </div>
</a>

<script>
$(".linkme").click(function(e){
   e.preventDefault(); 
   e.stopPropagation();
   var chk = $(this).find("input").is(":checked");
   if(chk){
       $(this).find("input").prop("checked", false);
       console.log("ok");
   } else {
       $(this).find("input").prop("checked", false);
       console.log("not click");
   }
});
</script>

如果我点击一个链接区域[class name =“linkme”],复选框会被选中。
但是当我单独选中复选框时,什么也没有发生。
如何使复选框可选择?

gg0vcinb

gg0vcinb1#

试试这个代码

<a href="#" class="linkme">
  <div>
    <span>Click here</span>
    <input type="checkbox" class="my-checkbox"> Check Me
  </div>
</a>

<script>
$(".linkme").click(function(e) {
  e.preventDefault();
  e.stopPropagation();
  
  var chk = $(this).find("input").is(":checked");
  
  if (chk) {
    $(this).find("input").prop("checked", false);
    console.log("unchecked");
  } else {
    $(this).find("input").prop("checked", true);
    console.log("checked");
  }
});

$(".my-checkbox").click(function(e) {
  e.stopPropagation();
});
</script>

相关问题