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> 展开
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个回答
展开全部
因为你这从逻辑上来说是有冲突的,比如说当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);"
其实你改用单选框不就好了吗?连一行代码都不用写。复选框顾名思义就是用来多选的,强制让它单选简直是反人类啊。
如果非要用复选框,那就这样:
<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);"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询