注册 登录
编程论坛 ASP技术论坛

选定复选框其中的1个就可以查询,选多个就查询不了,请问怎么改!

anjincheng 发布于 2010-09-14 17:12, 1017 次点击
各位老师:
    我有9个复选框,我选其中一个作查询条件,就可以实现;选2个以上就查询不到了,请问怎么实现!谢谢!
<%
SD_KJB=trim(request("SD_KJB"))

Orderby=" where SD_KJB in ('"&trim(request("SD_KJB"))&"')"
Orderby=Orderby&" order by SD_KJH asc"
set Waitrs=WS_S.HX_SetRSD("*","SD_JIBENH",Orderby)
%>
<%
   for i = 0 to 9
%>
   <input type="checkbox" value="<%=i%>"  name="SD_KJB" id="SD_KJB<%=i%>"> <label for="SD_KJB<%=i%>"><%=i%></label>
<%
next
%>
<input name="enter" type="submit" id="enter" value="查询" class="button">
请指点,谢谢!


9 回复
#2
cnfarer2010-09-14 22:03
你似乎简单化了吧?!就一个request("SD_KJB")能作为IN子名内容?(只选一个时除外)
#3
yms1232010-09-14 22:04
改复选框为单选框。
#4
gupiao1752010-09-15 01:00
前台对名称多加个确认
<input type="checkbox" value="<%=i%>"  name="SD_KJB<%=i%>" id="SD_KJB<%=i%>"> <label for="SD_KJB<%=i%>"><%=i%>

后台也跟前台一样,循环确认!只要取得的值一样就OK!
<%For   j=0  to   9
if   request( "SD_KJB"&i)= j   then
.....
end   if
Next%>
这个方法我还没有试过,如果还不行就在JS里测试!先用JS循环取值获取所有选中的CHECKBOX,思路如下:
   <script type="text/javascript">
function check()
{
 var ff='';
   for(var i=0;i<document.forms[0].chk.length;i++)
  {var cc=document.forms[0].chk[i];
    var dd=(cc.checked==true)?cc.value+',':'';
   ff+=dd;
   }
    alert(ff);
   //window.location='dd.asp?id='+ff;在后台在用豆号区分出一个一个的数字!
 
}
</script>
<form   action= ""   method= "post" >
<input   type= "checkbox"   name= "chk"   value= "1"> <br>
 <input   type= "checkbox"   name= "chk"   value= "2"> <br>
 <input   type= "checkbox"   name= "chk"   value= "3"> <br>
 <input   type= "checkbox"   name= "chk"   value= "4"> <br>
<input   type= "button" value="ttjj" onclick="check()">
</form>




#5
anjincheng2010-09-15 01:59
谢谢各位,但调试没通过,我想实现的是如下结果:
条件:在表“SD_JIBENH”中的“SD_B”字段里已经输入很多个0-9的数字,如:
ID    SD_B
1      5
2      5
3      0
4      9
5      0
6      4
7      2
........

目的:当我选择复选框的某个或多个数字,然后点击查询的时候,在查询结果里就列出数据库字段“SD_B”里相应的数字,如:
我选择复选框的:5,9,2
查询后得到:
5
5
9
2
...
请问怎么实现,谢谢!
#6
hams2010-09-15 08:44
那你不把后台的文件放出来
#7
yms1232010-09-15 14:26
用循环获取复选框4楼的方法值得借鉴
#8
gupiao1752010-09-16 00:38
以下是引用anjincheng在2010-9-15 01:59:31的发言:

谢谢各位,但调试没通过,我想实现的是如下结果:
条件:在表“SD_JIBENH”中的“SD_B”字段里已经输入很多个0-9的数字,如:
ID    SD_B
1      5
2      5
3      0
4      9
5      0
6      4
7      2
........

目的:当我选择复选框的某个或多个数字,然后点击查询的时候,在查询结果里就列出数据库字段“SD_B”里相应的数字,如:
我选择复选框的:5,9,2
查询后得到:
5
5
9
2
...
请问怎么实现,谢谢!
你问的是复选框如何多选,还是根据复选框的值要在数据库里查询啊?
这里说给你一个思路:
  还记得我告诉你的那个方法吧:把选择到的复选框的值传递到后台ASP去的方法://window.location='dd.asp?id='+ff;在后台在用豆号区分出一个一个的数字!
然后在后台用split分开成一个数组,也就能得到你所说的:选择复选框的:5,9,2,然后循环数组,去操作查询数据库,比如用split分出一个数组叫做:arr
for i=0 to ubound(arr)
sql='select * from SD_JIBENH where SD_B='&arr(i)
set rs=conn.execute(sql)
str=rs("SD_B")&"<br/>"
next
这里是核心取值部分,其他具体代码你自己写吧!如果你还不理解,我也没办法了。
#9
anjincheng2010-09-16 19:03
回复 8楼 gupiao175
是根据复选框的值要在数据库里查询
#10
anjincheng2010-09-16 20:05
页面如同:
只有本站会员才能查看附件,请 登录

代码如:
只有本站会员才能查看附件,请 登录
1