首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何取消选中的无线电输入点击它的标签?

我如何取消选中的无线电输入点击它的标签?
EN

Stack Overflow用户
提问于 2021-09-06 06:33:13
回答 1查看 116关注 0票数 0

这是密码

我有一组相同名字的隐藏无线电输入

代码语言:javascript
复制
    <input name="megamenu" type="radio" id="menu-1" hidden>
    <label class="nav-link" for="menu-1">menu1</label>
    
    <input name="megamenu" type="radio" id="menu-2" hidden>
    <label class="nav-link" for="menu-2">menu2</label>
    
    <input name="megamenu" type="radio" id="menu-3" hidden>
    <label class="nav-link" for="menu-3">menu3</label>

当我点击每个标签时,它们都会被检查。我如何取消选中的无线电输入点击它的标签?

我的尝试

代码语言:javascript
复制
    if (document.querySelector('input[name="megamenu"]:checked')) {
      document.querySelectorAll('input[name="megamenu"]:checked').forEach((elem) => {
        elem.addEventListener("click", function(event) {
    
          event.target.checked = false;
    
        });
      });
    }

我也试过这个

代码语言:javascript
复制
    var radios = document.querySelectorAll('input[name="megamenu"]:checked');
    for(i=0; i<radios.length; i++ ) {
        radios[i].onclick = function(e) {
            if(e.ctrlKey || e.metaKey) {
                this.checked = false;
            }
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2021-09-06 10:17:29

要做到这一点,一种简单的方法是使用.checked JS属性,如下所示:

代码语言:javascript
复制
let label = document.getElementById('label-id');
let radioBTN = document.getElementById('radio-id');

label.addEventListener('click', function(){ radioBTN.checked = false })
代码语言:javascript
复制
<input id='radio-id' type='radio' checked/>  <br><br>

<label id="label-id" style='cursor:pointer'>
  Click this label to uncheck the radio button
</label>

有关更多信息,请单击这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69070037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档