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

checkbox的单击事件没有反应,选中任意复选框,其他两个复选框就取消选中,但是为什么js没有反应?,第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)"

初步认为是因为控件太多,VBA需要反应时间,时间太短了你就会认为没有反应,10000+需要一定的反应时间的。

把你本来想写的单击事件内容写成函数的内容,然后单击事件执行这个函数就行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11963898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存