28,391
社区成员
发帖
与我相关
我的任务
分享
正常情况下批量更新:
d_id = Trim(Request.Form("d_id"))
d_bj = Trim(Request.Form("d_bj"))
d_id = Split(d_id,",")
d_bj = Split(d_bj,",")
For i = 0 To UBound(d_id)
Set rs = Server.CreateObject("adodb.recordset")
rs.open "select * FROM d_mat where d_id =" & d_id(i) ,conn,1,3
If Not rs.EOF Then
rs("d_bj") = 0
rs.Update
End If
Next
chinmo:
谢谢您的回复,现在的问题如下:
一个10行的表格,每行2列数据,一个d_id,一个d_bj(手动填写的input)
<form action="" method="get">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="a" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="b" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="c" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="d" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="e" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="f" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="g" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="h" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="i" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="j" /></td>
</tr>
</table>
</form>
1、全部批量更新:
那么传递过来的值就是
d_id =1,2,3,4,5,6,7,8,9,10
d_bj=a,b,c,d,e,f,g,h,i,j
更新的时候,直接对应ID,把d_bj批量更新,这样没问题。
2、按复选框更新:
把表格中input换成复选框来传递d_id的值,我选择其中3行的复选框,但10行中每行还是有一个d_bj的input,所以现在传递过来的值是这样的:
d_id =1,3,9
d_bj=a,b,c,d,e,f,g,h,i,j
d_id是按复选框传递的,d_bj还是全部传递过来,那么问题来了
做更新的时候,d_id和d_bj的值就对应不上了
怎么样才能让传递过来的字符串一一对应,变成如下格式:
d_id =1,3,9
d_bj=a,c,i[/quote]
很简单的,就是改变d_bj 的表单name值
<form action="" method="get">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="a" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="b" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="c" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="d" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="e" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="f" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="g" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="h" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="i" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj<%=rs("d_id")%>" type="text" value="j" /></td>
</tr>
</table>
</form>
这样你循环d_id ,就可以分别通过
d_bj=Request.Form('d_bj' &d_id(i) )得到<script>
function delNotChecked(f) {
var id = document.getElementsByName('d_id');
for (var i = id.length - 1; i >= 0; i--) if (!id[i].checked) id[i].parentNode.parentNode.parentNode.removeChild(id[i].parentNode.parentNode);
}
</script>
<form action="" method="get" onsubmit=" delNotChecked(this)">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="d_id" type="checkbox"/></td>
<td><input name="d_bj" type="text" value="a" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="b" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="c" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="d" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="e" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="f" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="g" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="h" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="i" /></td>
</tr>
<tr>
<td><input name="d_id" type="checkbox" /></td>
<td><input name="d_bj" type="text" value="j" /></td>
</tr>
</table>
<input type="submit" />
</form>
chinmo:
谢谢您的回复,现在的问题如下:
一个10行的表格,每行2列数据,一个d_id,一个d_bj(手动填写的input)
<form action="" method="get">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="a" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="b" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="c" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="d" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="e" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="f" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="g" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="h" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="i" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="j" /></td>
</tr>
</table>
</form>
1、全部批量更新:
那么传递过来的值就是
d_id =1,2,3,4,5,6,7,8,9,10
d_bj=a,b,c,d,e,f,g,h,i,j
更新的时候,直接对应ID,把d_bj批量更新,这样没问题。
2、按复选框更新:
把表格中input换成复选框来传递d_id的值,我选择其中3行的复选框,但10行中每行还是有一个d_bj的input,所以现在传递过来的值是这样的:
d_id =1,3,9
d_bj=a,b,c,d,e,f,g,h,i,j
d_id是按复选框传递的,d_bj还是全部传递过来,那么问题来了
做更新的时候,d_id和d_bj的值就对应不上了
怎么样才能让传递过来的字符串一一对应,变成如下格式:
d_id =1,3,9
d_bj=a,c,i
dogfish:
谢谢您的回复,现在的问题如下:
一个10行的表格,每行2列数据,一个d_id,一个d_bj(手动填写的input)
<form action="" method="get">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="a" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="b" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="c" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="d" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="e" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="f" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="g" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="h" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="i" /></td>
</tr>
<tr>
<td><input name="d_id" type="text" value="<%=rs("d_id")%>" /></td>
<td><input name="d_bj" type="text" value="j" /></td>
</tr>
</table>
</form>
1、全部批量更新:
那么传递过来的值就是
d_id =1,2,3,4,5,6,7,8,9,10
d_bj=a,b,c,d,e,f,g,h,i,j
更新的时候,直接对应ID,把d_bj批量更新,这样没问题。
2、按复选框更新:
把表格中input换成复选框来传递d_id的值,我选择其中3行的复选框,但10行中每行还是有一个d_bj的input,所以现在传递过来的值是这样的:
d_id =1,3,9
d_bj=a,b,c,d,e,f,g,h,i,j
d_id是按复选框传递的,d_bj还是全部传递过来,那么问题来了
做更新的时候,d_id和d_bj的值就对应不上了
怎么样才能让传递过来的字符串一一对应,变成如下格式:
d_id =1,3,9
d_bj=a,c,i