<div>
<input id="islive" name="islive" type="Radio" value="true" οnclick=check(this)>Yes
<input id="islive" name="islive" type="Radio" value="false" checked οnclick=check(this)> No
<input id="gender" name="gender" type="Radio" value="true" οnclick=''>Yes
<input id="gender" name="gender" type="Radio" checked value="false" οnclick="">No"
</div>
用javascript 拿出checkbox的值
var live =document.getElementsByName('islive'); 拿到的是个数组,现在要根据islive的值disable gender
function check(isLive){ var val = isLive.value; var ckl = (document.getElementsByName('gender').length); if(val=='true'){ for(i=0;i<ckl;i++){ document.getElementsByName('gender')[i].disabled = true; } }else{ for(i=0;i<ckl;i++){ document.getElementsByName('gender')[i].disabled = false; } } }
有时为了需要,check(isLive) 函数不能传入参数,则函数可以写为
function check(){ var live =document.getElementsByName('islive'); var gender= document.getElementsByName('gender'); for(i=0;i<live.length;i++){ if(live[i].checked == true && live[i].value=='true'){ for(i=0;i<gender.length;i++){ document.getElementsByName('gender')[i].disabled = true; } } } }
其实check()和check(isLive)是一样的,可以根据传入的参数判断(arguments)。javascript支持多态。