无图版
|
风格切换
|
帮助
|
Home首页
|
论坛首页
»
您尚未
登录
注册
|
推荐
|
搜索
|
社区服务
|
订阅本帖更新
社区服务
银行
门派
风格切换
wind
wind5
IECN社区
»
JavaScript/Ajax
»
checkbox级联
>> 手机开发
|- KJava(J2ME)
|- Wap
|- 3G时代
>> Web开发
|- JavaScript/Ajax
|- J2EE/Oracle
|- ASP/.Net/MSSQL
|- PHP/MySQL
|- XHTML/CSS/Dreamweaver
|- Flash/Flex
>> 自由交流
|- 灌水闲聊
|- 手机/个人电脑
>> 站务管理
|- 站务管理
|- 版主交流
|- 回收站
新 帖
本页主题:
checkbox级联
打印
|
加为IE收藏
|
复制链接
|
收藏主题
|
上一主题
|
下一主题
tax
级别:
入门弟子
精华:
0
发帖:
2
威望:
2 点
财富:
10 K币
贡献值:
0 点
注册时间:2008-03-23
最后登录:2008-04-26
小
中
大
引用
推荐
编辑
只看
复制
checkbox级联
下面这段js是有关checkbox的父子级联,现在我想要如果一个子checkbox是disabled,则级联对这个子checkbox不起作用,在下面这段js的基础上如何作修改呀?
小弟对javascript不是很熟悉呀,请教了!
function CheckboxGroup(){
var arrelement = document.all;
var i=0;
while(i <arrelement.length){
var forgroupattrib = arrelement
.getAttribute('forcheckboxgroup');
if(forgroupattrib != null && forgroupattrib != ''){
arrelement
.setAttribute('groupmember',_getGroupMember(arrelement
));
if(arrelement
.tagName.toLowerCase() == 'input' && arrelement
.type == 'checkbox'){
arrelement
.onclick=function(){
var groupmember = this.getAttribute('groupmember');
var i = 0;
while(i <groupmember.length){
groupmember
.checked = this.checked;
i++;
}
}
}
_setState(arrelement
);
}
i++;
}
}
function _getGroupMember(o){
var groupname = o.getAttribute('forcheckboxgroup');
var items = new Array;
var inputs = document.getElementsByTagName('input');
var i=0;
while(i <inputs.length){
if(inputs
.type == 'checkbox'){
var groupattrib = inputs
.getAttribute('group');
if(groupattrib == groupname){
items[items.length] = inputs
;
var master = inputs
.getAttribute('groupmaster');
if (master == null) {
master = new Array;
master[0] = o.uniqueID;
inputs
.setAttribute('groupmaster', master);
}
else{
master[master.length] = o.uniqueID;
}
inputs
.onpropertychange = function(){
if (event.propertyName == 'checked') {
var arro = this.getAttribute('groupmaster');
var i = 0;
while (i < arro.length) {
_setState(document.getElementById(arro
));
i++;
}
}
}
}
}
i++;
}
return items;
}
function _setState(o){
var master = o;
if(master!=null){
var chkselall = true;
var chknosel = true;
var groupmember = master.getAttribute('groupmember');
var i = 0;
while(i <groupmember.length){
if(chkselall)chkselall = groupmember
.checked;
if(chknosel)chknosel = !groupmember
.checked;
i++;
}
if(master.tagName.toLowerCase() == 'input'&&master.type=='checkbox'){
if (chkselall) {
master.indeterminate = false;
master.checked = true;
}
if (chknosel) {
master.indeterminate = false;
master.checked = false;
}
if(!chkselall&&!chknosel)master.indeterminate = true;
}
else{
master.disabled = chknosel;
}
}
}
window.attachEvent('onload',CheckboxGroup);
在HTML中显示
<input type="checkbox" forcheckboxgroup="abc">A <br>
<input type="checkbox" group="abc">a <br>
<input type="checkbox" group="abc">b <br>
<input type="checkbox" group="abc" disabled="disabled">c <br>
现在在勾选A时,a,b都选上,但c不能被勾选。
不能去掉c的group="abc"这个属性
顶端
Posted: 2008-04-25 10:13 |
[楼 主]
帖子浏览记录
版块浏览记录
快速跳至
>> 手机开发
|- KJava(J2ME)
|- Wap
|- 3G时代
>> Web开发
|- JavaScript/Ajax
|- J2EE/Oracle
|- ASP/.Net/MSSQL
|- PHP/MySQL
|- XHTML/CSS/Dreamweaver
|- Flash/Flex
>> 自由交流
|- 灌水闲聊
|- 手机/个人电脑
>> 站务管理
|- 站务管理
|- 版主交流
|- 回收站
IECN社区
»
JavaScript/Ajax
Time now is:12-03 15:03, Gzip disabled
京ICP备06069722号
Powered by
PHPWind
v6.3.2
Certificate
Code © 2003-08
PHPWind.com
Corporation