分析一下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;
}
}
}
写一个js方法,方法接收一个值,然后遍历下面所有的,判断到相等的话就设置display:none;
当点击全选时,写另外一个方法接收一个标识,当全不选时接收另外一个标识,这样在遍历所有是否要设置display:none;
既然你不会用JS写,就用服务器端方法吧。这两个绑定的是一个数据源,你可以在内存中建两个DataTable,分别绑定两个。当第一选择后,触发autopostback事件,删除下面那个数据源中的DataTable一项,重新绑定第二个,相反也一样。
我想知道你们这个权限是怎么控制的,有没有数据库,有的话是怎么设计表结构的。。。
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。那么点击无效。