怎么用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来获取值