Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript取消选中所有其他复选框_Javascript - Fatal编程技术网

使用Javascript取消选中所有其他复选框

使用Javascript取消选中所有其他复选框,javascript,Javascript,我有以下代码: <div class="formControls"> <label for="gdpr0" class="checkbox-inline"> <input type="checkbox" name="form[gdpr][]" value="email" id="gdpr0" onchange="GDPRcheck();" class="gdpr-option rsform-checkbox">By email</label>

我有以下代码:

<div class="formControls">
  <label for="gdpr0" class="checkbox-inline">
  <input type="checkbox" name="form[gdpr][]" value="email" id="gdpr0" onchange="GDPRcheck();" class="gdpr-option rsform-checkbox">By email</label> 
  <label for="gdpr1" class="checkbox-inline">
  <input type="checkbox" name="form[gdpr][]" value="phone" id="gdpr1" onchange="GDPRcheck();" class="gdpr-option rsform-checkbox">By phone</label> 
  <label for="gdpr2" class="checkbox-inline">
  <input type="checkbox" name="form[gdpr][]" value="post" id="gdpr2" onchange="GDPRcheck();" class="gdpr-option rsform-checkbox">By post</label> 
  <label for="gdpr3" class="checkbox-inline">
  <input type="checkbox" name="form[gdpr][]" value="none" id="gdpr3" onchange="GDPRcheck();" class="gdpr-option rsform-checkbox">None</label>
  <p class="formDescription">Please check all methods by which you are happy to be contacted.</p>
</div>

通过电子邮件
通过电话
邮寄
没有一个

请检查所有您乐于联系的方法


我要寻找的是正确的javascript,如果选中了“none”选项,就可以取消选中任何/所有其他选项,以确保人们不能选中none和其他选项。我打算使用一个名为GDPRcheck()的函数来完成此操作。

首先,您需要在
GDPRcheck
函数中传递
this
,以便可以在函数中引用单击的元素,然后使用
querySelectorAll
获取所有复选框。然后,设置一个条件,该条件将
取消选中除
复选框之外的所有其他复选框(当选中
时)

功能GDPRcheck(elem){
如果(元素值==‘无’){
document.querySelectorAll('[id^=“gdpr”]').forEach(函数(chkBox){
if(elem.checked&&chkBox.value!=“无”){
chkBox.checked=false;
}
});
}否则{
var noneChkBox=document.getElementById('gdpr3');
如果(非chkbox.checked){
noneChkBox.checked=false;
}
}
}

通过电子邮件
通过电话
邮寄
没有一个

请检查所有您乐于联系的方法


做你的研究,寻找与此相关的主题,然后试一试。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会乐意帮忙的。祝你好运明白了,谢谢。谢谢。如果我选择其他选项,然后选择“无”,这会起作用,但是如果我选择“无”,或者它已经被选中,它仍然允许我选择其他选项之一。如果选择了任何其他选项,是否有办法使其也取消选中“无”?所以他们可以从电子邮件、电话和邮件中选择任何一种,也可以不选择?