首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript 单击改变单选框状态?解决办法

2012-02-07 
javascript 单击改变单选框状态?我想用下面的javascript代码实现一个功能:有一个单选框按钮,点击它的时候,

javascript 单击改变单选框状态?
我想用下面的javascript代码实现一个功能:有一个单选框按钮,点击它的时候,它的状态改变。如果原来是未选中的,点击后变为选中状态。如果原来是选中的,点击后变为未选中状态。请问下面这段代码哪错了?如何修改?谢谢!

<html>
<head>
<script language="JavaScript">
<!--
function on()
{
if(document.form1.radioqq.checked==true)
document.form1.radioqq.checked=false;
else if(document.form1.radioqq.checked==false)
document.form1.radioqq.checked=true;

}

//-->
</script>
</head>
<body>
<form name="form1">
<input type="radio" name="radioqq" onclick="on()" >变换

</form>
</body>
</html>

[解决办法]

HTML code
<html> <head> <script language="JavaScript"> <!--var t = false;function on() {    t = !t;    document.form1.radioqq.checked = t;} //--> </script></head> <body> <form name="form1"><input type="radio" name="radioqq" onclick="on()" >变换    </form> </body> </html>
[解决办法]
HTML code
应该在mousedown里操作,如果放到click里,则因为已经手动选过一次,然后代码会把结果再还原回去的。<html> <head> <script language="JavaScript"> <!-- function on() { document.form1.radioqq.checked=!document.form1.radioqq.checked} //--> </script> </head> <body> <form name="form1"> <input type="radio" name="radioqq" onmousedown="on();" >变换    </form> </body> </html>
[解决办法]
同意一楼
不过为什么不直接用checkbox?这样不是更常规一些,用户也好理解。

HTML code
<html><head><script language="JavaScript"><!--function on(sender){    sender.defaultChecked = !sender.defaultChecked; // 可以省个全局变量    sender.checked = sender.defaultChecked;}//--></script></head><body><form name="form1"><input type="radio" name="radioqq" onclick="on(this)" >变换</form></body></html> 

热点排行