怎么用javascript使一个checkbox控制另外2个checkbox的disabled属性
我在pageload里是这样做的,但行不通:
先初始化,chk2.attributes[ "disabled "] = "true ";
chk3.attributes[ "disabled "] = "true ";
再加控制,chk1.attributes[ "onclick "] = "document.getElementById( ' " + chk1.clientid + " ').disabled=this.checked; ";
但不工作,不知道为什么?
------解决方案--------------------直接用JS控制不行吗?
------解决方案--------------------chk1.attributes[ "onclick "] = "document.getElementById( ' " + chk1.clientid + " ').disabled=this.checked; ";
你这是控制chk1的呀,改称相应的chk2吧
------解决方案--------------------可以用ajax,javascript不知行不行
------解决方案--------------------自己控制自己?chk1????
------解决方案--------------------chk1.attributes[ "onclick "] = "document.getElementById( ' " + chk1.clientid + " ').disabled=this.checked; ";
------------------------------------
你写错了吧。chk1控制chk1,自己控制自己,肯定有问题
------解决方案-------------------- <script>
function fnc(obj){
var s = document.getElementsByName( "chk ");
if (obj.checked){
for (var i=0;i <s.length;i++){
s[i].disabled = true;
}
}
else{
for (var i=0;i <s.length;i++){
s[i].disabled = false;
}
}
}
</script>
<input type= "checkbox " onclick= "fnc(this) ">
<br>
<input type= "checkbox " name= "chk ">
<input type= "checkbox " name= "chk ">
------解决方案--------------------chk2,chk3是受chk1控制的吧
你可以这样,将chk2,chk3的name属性设为一样
然后用
function fnc(obj,chkname){
var s = document.getElementsByName(chkname);
if (obj.checked){
for (var i=0;i <s.length;i++){
s[i].disabled = true;
}
}
else{
for (var i=0;i <s.length;i++){
s[i].disabled = false;
}
}
}
调用的时候
fnc(this,你要控制的那一组checkbox的name值)
这样就可以用chk1控制Name值相同的chk2和chk3了
------解决方案--------------------try:
chk1.attributes[ "onclick "] = "if(!this.ckecked){document.getElementById( ' " + chk2.clientid + " ').removeAttribute( 'disabled ');document.getElementById( ' " + chk3.clientid + " ').removeAttribute( 'disabled ');}else{document.getElementById( ' " + chk2.clientid + " ').disabled = 'true ';document.getElementById( ' " + chk3.clientid + " ').disabled = 'true '; "
------解决方案--------------------LZ应该用客户端的checkbox来控制,在后台用Request.Form来获取值