兄弟们来看看这个题

BadBoyCyh 2004-11-20 08:28:37
1代表A
2代表B
4代表C
8代表D
16代表E
32代表F
64代表G

A,B,C,D,E,F,G(或者更多),每项都做成一个checkbox,前面的数字为其值,多项选择

多项选择,比如我选择A和B,那么,我在数据库中保存的记录则为1+2=3,也就是3,如果我选择A和B和C,那么数据库中保存的则为1+2+4=7,依此类推!
现在我只知道数据中的这个值,怎么判断到底选择了哪几项?或者说根据这个值我怎么判断该用户有没有选择B

...全文
160 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇玉 2004-11-23
  • 打赏
  • 举报
回复
这么简单的问题搞的如此复杂
<input type=CheckBox id="A" Name=Test Value='1'>
<input type=CheckBox id="B" Name=Test Value='2B'>
<input type=CheckBox id="C" Name=Test Value='4C'>
<input type=CheckBox id="D" Name=Test Value='8D'>
<input type=CheckBox id="E" Name=Test Value='16E'>
<input type=CheckBox id="F" Name=Test Value='32F'>
<input type=CheckBox id="G" Name=Test Value='64G'>
<script language="javascript">
var i;
var intCount=0;
var strName="";
for(i = 0;i<document.all.length;i++)
{
if(document.all(i).type == "checkbox")
{
if(document.all(i).checked == true)
{
intCount=intCount + parseInt(document.all(i).value);
strName=strName+document.all(i).id
}
}
}
</script>
上面由于键盘有问题,误操作,见谅
奇玉 2004-11-23
  • 打赏
  • 举报
回复
这么简单的问题搞的如此复杂
<input type=CheckBox id="A" Name=Test Value='1'>
<input type=CheckBox id="B" Name=Test Value='2B'>
<input type=CheckBox id="C" Name=Test Value='4C'>
<input type=CheckBox id="D" Name=Test Value='8D'>
<input type=CheckBox id="E" Name=Test Value='16E'>
<input type=CheckBox id="F" Name=Test Value='32F'>
<input type=CheckBox id="G" Name=Test Value='64G'>
<script language="javascript">
var i;
for(i = 0;i<document.all.length;i++)
{

}
</script>
是是非非 2004-11-23
  • 打赏
  • 举报
回复
从表单传参数过来的时候,你可以给各个checkbox给不同的值
例如
<input type="checkbox" name="chkItem1" value="1">A
<input type="checkbox" name="chkItem1" value="2">B
<input type="checkbox" name="chkItem1" value="4">C
<input type="checkbox" name="chkItem1" value="8">D

…………
在ASP里面活得的是一个空字符串或者逗号分割的字符串
要合并这些值到上面的valCheck只要先把他们分割开,然后加起来就好了

================
你这个是用于权限设置的吧?
呵呵,我才搞定这个东西
是是非非 2004-11-23
  • 打赏
  • 举报
回复
<%
Dim Mask
Mask= Array (1,2,4,8,16,32,64)
'检查指定项是否被选中,valCheck=你数据库里面的值,chrCheck=a,b,c,d,e,f
'返回True和False
Public Function CheckOption(valCehck,chrCheck)
Dim pos
Pos=Asc(UCase(chrCheck))=Asc("A")
If (Masx(pos) And valCheck)>0 Then
CheckOption=True
Else
CheckOption=False
End If
End Function
%>
lienzhu 2004-11-23
  • 打赏
  • 举报
回复
10进制转2进制的函数,可以看某位上值是否为1
也可以
if num and 1=1 then ...
if num and 2=2 then ...
if num and 7=7 then ...
lienzhu 2004-11-23
  • 打赏
  • 举报
回复
给你个10进制转2进制的函数

Function N10To2(num)
Dim tmp
tmp = ""
Do While num > 1
tmp = (num Mod 2) & tmp
num = num \ 2
Loop
tmp = num & tmp
N10To2 = tmp
End Function

kchen2001 2004-11-23
  • 打赏
  • 举报
回复
chonboy(一只来自南方的羊) 的方法好!
BadBoyCyh 2004-11-21
  • 打赏
  • 举报
回复
t
BadBoyCyh 2004-11-21
  • 打赏
  • 举报
回复
BadBoyCyh 2004-11-20
  • 打赏
  • 举报
回复
是的
shrinerain 2004-11-20
  • 打赏
  • 举报
回复
一道逻辑题咯~~
BadBoyCyh 2004-11-20
  • 打赏
  • 举报
回复
对,就是权限
chonboy 2004-11-20
  • 打赏
  • 举报
回复
楼主是用来做权限设置用的?
判断的方法就是用逻辑与计算

比如7与2不为0表示包含2
0000111
0000010
---------
0000010

不记得VBScript的运算赋,楼主查下看
睡觉罗~~
kchen2001 2004-11-20
  • 打赏
  • 举报
回复
我想了个算法,表述如下
INT a[100]
getarray(X){//X是知道数据中的这个值
y = INT(log2(X));//INT是取他的整数部分//log2表示取以2底的对数
for(i=0;X-2^y;i++){//2^y表示2的y次幂
a[i]=2^y
X=X-2^y
y=INT(log2(X))
}
}
这样数组a[100]中得到的就是到底选择了的项,上述只是一个算法的描述,具体用ASP实现还要找找一下相关的函数,整理整理。
BadBoyCyh 2004-11-20
  • 打赏
  • 举报
回复
什么啊???你看明白题目了没有,老兄!
liuyangxuan 2004-11-20
  • 打赏
  • 举报
回复
If Right(Request("Test"),1)='A' Then ..........Checked
.....................
liuyangxuan 2004-11-20
  • 打赏
  • 举报
回复
CheckBox设为同一个名字,Values分另代表不同的数值+名称。
<input type=CheckBox Name=Test Value='1A'>
<input type=CheckBox Name=Test Value='2B'>
<input type=CheckBox Name=Test Value='4C'>
<input type=CheckBox Name=Test Value='8D'>
<input type=CheckBox Name=Test Value='16E'>
<input type=CheckBox Name=Test Value='32F'>
<input type=CheckBox Name=Test Value='64G'>
'-------------------------------------------------Right(Request("Test"),1)
BadBoyCyh 2004-11-20
  • 打赏
  • 举报
回复
up
ygjwjj 2004-11-20
  • 打赏
  • 举报
回复
有点意思,不过楼主分太少了。

28,391

社区成员

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

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