首页 新闻 搜索 专区 学院

问题,,急啊!!高手们!!

0
悬赏园豆:10 [已解决问题] 解决于 2010-08-27 16:05

我这是两个checkboxlist,上边是checkboxlist1,下边是checkboxlist2。每个都是绑定的数据,上下数据相同。这时我想,上下值相同的不能同时勾选,比如勾选了上边的演示权限,下边就消失。就是不能同时勾选。这个用js怎么实现呢??求各位帮帮忙!!!!

问题补充: 我这个是checkboxlist 不是checkbox 。。。
sea dragon的主页 sea dragon | 初学一级 | 园豆:187
提问于:2010-08-26 13:48
< >
分享
最佳答案
0

分析一下2个checkboxlist生成的HTML的每个checkbox的ID,得出ID规则,比如许可权限中“演示权限”这个checkbox和拒绝权限中“演示权限”的checkbox这2个checkboxID的区别规则。

然后为checkbox添加一个onclick事件,同时传递一个obj对象,这对象指向checkbox本身,在JS脚本里进行处理,比如这个obj勾选了,则其相对应的checkbox则不能勾选,具体代码如下:

 

<input type="checkbox" onclick="check(this);"/>

function check(obj)
{

var anthorId="checkboxlist2_"+obj.ID.replace("checkboxlist1_","");//具体规则自己看情况处理

if(obj.checked==true)
{

document.getElementById(anthorId).checked
=false;
}
else

{

document.getElementById(anthorId).checked
=true;

}

}
}
收获园豆:8
kyo-yo | 大侠五级 |园豆:5587 | 2010-08-26 14:26
其他回答(4)
0

写一个js方法,方法接收一个值,然后遍历下面所有的,判断到相等的话就设置display:none;

当点击全选时,写另外一个方法接收一个标识,当全不选时接收另外一个标识,这样在遍历所有是否要设置display:none;

jowo | 园豆:2834 (老鸟四级) | 2010-08-26 14:03
我不会写啊,写了好多都不对
支持(0) 反对(0) sea dragon | 园豆:187 (初学一级) | 2010-08-26 14:07
不是全选那块,就是上下值相同的不能同时勾选
支持(0) 反对(0) sea dragon | 园豆:187 (初学一级) | 2010-08-26 14:11
0

既然你不会用JS写,就用服务器端方法吧。这两个绑定的是一个数据源,你可以在内存中建两个DataTable,分别绑定两个。当第一选择后,触发autopostback事件,删除下面那个数据源中的DataTable一项,重新绑定第二个,相反也一样。

Astar | 园豆:40805 (高人七级) | 2010-08-26 14:28
0

我想知道你们这个权限是怎么控制的,有没有数据库,有的话是怎么设计表结构的。。。

顾晓北 | 园豆:9959 (大侠五级) | 2010-08-27 11:26
你的意思是我这个权限设计的不得当对吧,我感觉也是,可是经理非让这样做,说了很多理由。。没听懂。。呵呵
支持(0) 反对(0) sea dragon | 园豆:187 (初学一级) | 2010-08-27 16:04
0

function yanzheng(){

var name='演示权限';

$("Lable:contains(name)").each(function (i){

  var chkID=$(this).attr("for");var isChk=$(chkID).attr("checked");

  if(isChk=="checked"){alert(''已经存在权限。不允许重复点击。) return false;}

})

在点击chekbox的时候为checkbox绑定触发点击的事件yanzheng。这样如果这个方法返回false。那么点击无效。

收获园豆:2
邢少 | 园豆:10924 (专家六级) | 2010-08-27 13:18
谢了,2楼的已经给我解决了
支持(0) 反对(0) sea dragon | 园豆:187 (初学一级) | 2010-08-27 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册