帮忙啊,该如何实现啊?

ctbgjm 2003-11-19 07:22:22
一个权限选择表,请问如下功能如何实现:
<input type='CheckBox' id=chkRight value='10' checked=true name='chkRight10'>权限1
<input type='CheckBox' id=chkRight value='1001' checked=true name='chkRight10'>权限1.1
<input type='CheckBox' id=chkRight value='1002' checked=true name='chkRight10'>权限1.2
......
<input type='CheckBox' id=chkRight value='100n' checked=true name='chkRight10'>权限1.n

(name值可以相同也可以不相同,这由我自己定)
这些都是从数据库读的,当点权限1时,它所有子权限同时都选中,又假设原来选中权限1.1,现在去掉,则先检查同等级(权限1.1,权限1.2 .... 权限1.n)是否还有选中的,如果没有则同时把权限1的checked改为false,有就不改变。

因为权限可能有多层,第一层为(10,20,...),第二层(1001,1002,1003...),第三层(100101,100102...),而这些值都是读库出来的。
请问用JS该如何实现啊?
...全文
29 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjjf 2003-11-19
  • 打赏
  • 举报
回复
这个好办啊,有好几种的实现方法
(1)设计好名字,点击的时候循环一遍所有的checkbox截取名字里面的标识判断是否是所点击的下级checkbox,能够找出所有的下级了那进行你的判断就应该没有问题了。但这是一种非常低效的方法。
例如
权限1 name="1000000" (你可以用多个位来表示一个权限级别,这里用1个位来表示
权限1.1 name="1100000"
权限1.n name="1n00000"
权限2 name="2000000"
权限2.1 name="2100000"
查找某一级别以及以下的权限(如1.1)只需找名字前面为"11"的checkbox就行了。
(2)在服务器端直接将某一级别权限的所有子权限都放到一个隐藏域中。
(3)在服务器端生成权限表的数组,数组的存储结构为广义表,(如果为了更快而不惜浪费空间的话,那还可以和哈希表结合。javascript中没有多维数组但可以模拟出来。)查找到该名字即可以知道,该级别权限的所有子权限。

防止checkbox状态变化的的那份代码为
onclick="return abc()"

<SCRIPT LANGUAGE="JavaScript">
<!--
function abc()
{
if (条件不成立)
{
return false;
}
else
{
return true;
}
}
//-->
NetBoy 2003-11-19
  • 打赏
  • 举报
回复
关注,顶一下

我也在为权限的问题而困惑,

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧