checkbox的单击事件没有反应,选中任意复选框,其他两个复选框就取消选中,但是为什么js没有反应? 5

需要实现的效果如图所示,js代码:<scripttype="text/javascript">functioncheck_count(id){alert(id);varc... 需要实现的效果如图所示,
js代码: <script type="text/javascript">function check_count(id){ alert(id);var checkbox1=document.getElementById("bzy1_"+id);var checkbox2=document.getElementById("bzy2_"+id);var checkbox3=document.getElementById("shy_"+id); if(checkbox1.checked==true){ checkbox2.checked==false; checkbox3.checked==false; } if(checkbox2.checked==true){ checkbox1.checked==false; checkbox3.checked==false; } if(checkbox3.checked==true){ checkbox1.checked==false; checkbox2.checked==false; } } </script>
展开
 我来答
网海1书生
科技发烧友

2019-06-20 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26225

向TA提问 私信TA
展开全部
因为你这从逻辑上来说是有冲突的,比如说当checkbox1选中时,你再点击checkbox2想让它选中(checkbox1和checkbox3则取消选中),这时程序执行到第一个if判断,由于checkbox1是选中的,因此checkbox2和checkbox3就会被取消选中(即使checkbox2被点击的瞬间是选中的),那么后面的第二个和第三个if判断就无论如何也不会执行了。
其实你改用单选框不就好了吗?连一行代码都不用写。复选框顾名思义就是用来多选的,强制让它单选简直是反人类啊。
如果非要用复选框,那就这样:
<script type="text/javascript">
function check_count(id,me){
var checkbox1=document.getElementById("bzy1_"+id);
var checkbox2=document.getElementById("bzy2_"+id);
var checkbox3=document.getElementById("shy_"+id);
if(me.checked){
checkbox1.checked=checkbox1==me;
checkbox2.checked=checkbox2==me;
checkbox3.checked=checkbox3==me;
}
}
</script>
然后调用的时候要这样:
onclick="check_count('a',this);"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式