input的radio类型,跟checkbox不同,在选中状态下,不能通过再次点击来取消选择。最近在工作中却遇到这样的需求,通过jquery实现了一下。
假设表单如下:
<form name="mainForm" action="tt.php">
<input type="radio" value="large" name="size" tag="0" />
<input type="radio" value="middle" name="size" tag="0" />
<input type="radio" value="small" name="size" tag="0" />
……
</form>
添加了一个属性tag,用来记录radio 的checked状态,0表示未被选择,1表示被选择
Jquery代码如下:
$(":radio").click(
function(){
var nm=$(this).attr("name");
$(":radio[name="+nm+"]:not(:checked)").attr("tag",0);
if($(this).attr("tag")==1){$(this).attr("checked",false);$(this).attr("tag",0); }
else{$(this).attr("tag",1);}
}
);