jQuery复选框在链接区域内单击?

jquery checkbox click inside a link area?

提问人:Richard 提问时间:6/20/2023 更新时间:6/20/2023 访问量:21

问:

海洛

如果链接内有一个复选框,我也想使该复选框处于可选状态。
但现在,只点击了一个链接,只选中了复选框。

即使选中了复选框,如何提供与选择链接相同的事件?
我也在使用 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>

如果我单击链接区域 [类名 =“linkme”] 该复选框已根据需要选中。

但是当我单独选中复选框时,什么也没发生。
如何使复选框可选择?

jQuery 事件 复选框

评论


答:

0赞 Qasim 6/20/2023 #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("unchecked");
  } else {
    $(this).find("input").prop("checked", true);
    console.log("checked");
  }
});

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

评论

1赞 Richard 6/20/2023
太神奇了。因为这个,我已经好几天没睡了......非常感谢:)