复选框状态判断

linchhero 2008-11-21 01:59:42
有五个复选框,存数据库时我用了一个隐藏的text,把复选框的value用逗号分隔然后存到数据表的一个字段中。我现在要把复选框状态一个一个读出来,不知道要怎么做?请高手帮忙!
...全文
236 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
linchhero 2008-11-21
[Quote=引用 16 楼 chinmo 的回复:]
不知道你什么结构
反正原理就那样

你自己整吧
[/Quote]

我还是没整出来呀!
主要是因为我的动态复选框的value值是用的rs("model"),而你的是直接给定的。我试了一下,好像不行。
回复
linchhero 2008-11-21
可能我还没明白你的意思。
回复
linchhero 2008-11-21
[Quote=引用 11 楼 chinmo 的回复:]
<%a = "1,2"'这个是你说的把复选框的value用逗号分隔然后存到数据表的一个字段的值%>
<form id="form1" name="form1" method="post" action="">
<%for i=1 to 10%>
<input name="checkbox" type="checkbox" id="checkbox" value="1" <%if instr(","&a&",",","&i&",")>0 then response.Write "checked"%> />
<%next%>
</form>

我这个写的就是一个动态的好不??

哪是静态的?

谁知道你什么数据库结构?

[/Quote]


嗯,你这个是动态的。但是你的value是直接给的值,而我程序中的value是用rs("model") 给的。
回复
caiwujia 2008-11-21
--希望有帮助。在Firefox和Chorme可以,但IE试过不行。若要在IE下运行,可试试getElementsByTagName的做法。
<html>
<head>
<style>
</style>
<script>
function load(){
for(var i=0;i<5;i++){
//添加复选框
var chk = document.createElement("input");
chk.type = "checkbox";
chk.name = "chk";
chk.id = "chk"+i;
chk.value = i;
document.body.appendChild(chk);
//添加文本
var span = document.createElement("span");
span.innerText = "选项"+i;
document.body.appendChild(span);
}
}
function getChkValue(){
var chks = document.getElementsByName("chk");
var chkValue = "";
for(var i=0;i<chks.length;i++){
if(chks[i].checked){
chkValue += chks[i].value+",";
}
}
//去掉最后一个逗号(如果有)
if(chkValue.substr(chkValue.length-1,1) == "," ){
chkValue = chkValue.substr(0,chkValue.length-1);
}
document.getElementById("chkValue").value=chkValue;
alert("提交的值:"+document.getElementById("chkValue").value);
}
onload=load;
</script>
</head>
<body>

<input type="hidden" id="chkValue" />
<input type="button" onclick="getChkValue()" value="提交"/>
</body>
</html>
回复
不说了

一看就知道你根本不会转弯的

根本不理解我给你的例子和我问的话!

回复
linchhero 2008-11-21
我有一个数据表:id,project,model
我就是根据这个表来生成复选框的,一个project有多个model.
回复
我就只想问你一句,你的rs("model")是什么形式的值,还有你的checkbox是根据什么动态生成的?
你想明白了这个,然后按我说的原理做即可
回复
linchhero 2008-11-21
[Quote=引用 4 楼 chinmo 的回复:]
一样的
比如

HTML code<form id="form1" name="form1" method="post" action="">
<%for i=1 to 10%>
<input name="checkbox" type="checkbox" id="checkbox" value="1" <%if instr(","&a&",",","&i&",")>0 then response.Write "checked"%> />
<%next%>
</form>
[/Quote]



你给我的value值是已经给出来了的。而我的是要用rs("model")从数据库里读的。问题就出在这里
回复
linchhero 2008-11-21
郁闷……

我的动态复选框都是这么写的.如果是这样,按照你的那种方法,好像是不行,因为你说了我的value是用的rs("model"),如果按我这种前提,要实现开始的那种效果,具体要怎么写代码呀。

<%
if not(rs.bof and rs.eof) then
html = "<span id=checkboxs>"

do while not rs.eof
html = html&"<input name=checkbox type=checkbox value='"&rs("model")&"' onclick=check() >"&rs("model")&"    "

rs.movenext
loop
html = html&"</span>"

end if
%>
回复
不知道你什么结构
反正原理就那样

你自己整吧
回复
linchhero 2008-11-21
因为我是做的下拉框和复选框的联动。所以我动态生成复选框都是根据下拉框的值读的数据库。
回复
你的复选框写数据库之前是怎么写的,那你这里就这么写复选框,只是多了一个判断复选框状态的,其他的跟你前台的一模一样
回复
linchhero 2008-11-21
[Quote=引用 9 楼 chinmo 的回复:]
晕,你这样怎么可能对啊!!!!

rsmod("model")
你的这个字段就包含了所有选种的显示?


你的就按我说的那个规律

看看你自己的存储特征!
然后根据我给的规律写!
[/Quote]


如果我是这样动态生成复选框,我要怎么去像前面一样读复选框的状态。都是一样的方式存入数据表的。
回复
linchhero 2008-11-21
嗯,那个我动态生成的复选框我也是用一样的方式存到数据表中的。
复选框的value是从数据表中读出来的,这样的话,我如果也要像前面一样读到复选框的状态,代码要怎么去写呢。

请指教!
回复
<%a = "1,2"'这个是你说的把复选框的value用逗号分隔然后存到数据表的一个字段的值%>
<form id="form1" name="form1" method="post" action="">
<%for i=1 to 10%>
<input name="checkbox" type="checkbox" id="checkbox" value="1" <%if instr(","&a&",",","&i&",")>0 then response.Write "checked"%> />
<%next%>
</form>

我这个写的就是一个动态的好不??

哪是静态的?

谁知道你什么数据库结构?
自己看这个数据结构
回复
linchhero 2008-11-21
我按你的方法,静态的没有问题,动态的还是有问题。
动态的复选框的value值是从数据表中读出来的,那我要怎么去写呢。还请指教
回复
晕,你这样怎么可能对啊!!!!

rsmod("model")
你的这个字段就包含了所有选种的显示?


你的就按我说的那个规律

看看你自己的存储特征!
然后根据我给的规律写!
回复
linchhero 2008-11-21
[Quote=引用 4 楼 chinmo 的回复:]
一样的
比如

HTML code<form id="form1" name="form1" method="post" action="">
<%for i=1 to 10%>
<input name="checkbox" type="checkbox" id="checkbox" value="1" <%if instr(","&a&",",","&i&",")>0 then response.Write "checked"%> />
<%next%>
</form>
[/Quote]


我试了一下,放到动态生成复选框的那里好像不行。我的动态生成复选框的代码是这样写的。

<%

Set rsmod=Server.CreateObject("ADODB.RecordSet")
sql1="select * from project_info where project='"&rs1("Project")&"';"
rsmod.Open sql1,conn,3,3
htm=""
modtext=rs1("Model")
if not(rsmod.bof and rsmod.eof) then
html = "<span id=checkboxs>"

do while not rsmod.eof
html = html&"<input name=checkbox type=checkbox value='"&rsmod("model")&"'>"&rsmod("model")&"    "

rsmod.movenext
loop
html = html&"</span>"

end if
rsmod.close
set rsmod=nothing
response.write html
%>
回复
happy002 2008-11-21
up and study~
回复
sy_binbin 2008-11-21
[Quote=引用 2 楼 chinmo 的回复:]
呵呵,这这么写不好的,碰到12,11这样的也会通过的,所以得改一下,代码如下:

HTML code<%a = "1,2"%>
<form id="form1" name="form1" method="post" action="">
<input name="checkbox" type="checkbox" id="checkbox" value="1" <%if instr(","&a&",",",1,")>0 then response.Write "checked"%> />
<input name="checkbox2" type="checkbox" id="checkbox2" value="2" <%if instr(","&a&",",",2,")>0 then resp…
[/Quote]

哈哈!就简单的写一个例子,没考虑那些哦
回复
加载更多回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-11-21 01:59
社区公告
暂无公告