标题:关于批量修改-动态下拉菜单给值问题
只看楼主
ningzhonghui
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2010-11-19
结帖率:84.62%
已结贴  问题点数:5 回复次数:4 
关于批量修改-动态下拉菜单给值问题
20101227.zip (34.69 KB)
附件

我目的是由上面的下拉菜单选值,比如我选如图所示选专辑编号15 那么下面的所有[专辑编号] 就自动变成15
现在以下的代码只能一个个来修太麻烦拉,记录少点倒可以要是有几百件那就累死!请求版主们或高手帮忙解决下 昨晚研究了一天没则!

程序代码:
<!--#include FILE="conn.asp"-->

<%'这段参照论谈某贴yms123版主写的动态下拉菜单选值
set rs=server.createobject("adodb.recordset")
sqltext="select * from class "
rs.open sqltext,conn,1,1
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head> 

<body>
<script language="javascript">
function p_id_Change(val)
{
var albumTxt=document.getElementById("p_album");
var usernameTxt=document.getElementById("p_username");
var tAry=val.split('|');
albumTxt.value=tAry[0];
usernameTxt.value=tAry[1];
}
</script>
<select name="p_id" id="p_id" onChange="p_id_Change(this.options[this.selectedIndex].value);">
<%do while not rs.eof %>
<option value="<%= rs("album")%>|<%= rs("username")%>" ><%= rs("id") %> </option>
<% rs.movenext
loop%> </select>
<input name="p_album" type="text" id="p_album">
<input name="p_username" type="text" id="p_username">

<%'以下是主要是批量修改,我目的是由上面的下拉菜单选值,比如我先如图所示15 那么下面的所有[专辑编号] 就自动变成15
if request("action")="edit" then
id=request("id")
album=request("album")
username=request("username")
id1=split(id,",")
album1=split(album,",")
username1=split(username,",")

for i = 0 to ubound(id1)

   set rs=server.CreateObject("adodb.recordset")
   rs.open "select * from music where id="&id1(i) ,conn,1,3
   rs("album")=trim(album1(i))
   rs("username")=trim(username1(i))
   rs.Update
   rs.Close
   set rs=nothing
next
end if
%>
<form method="post" action="?action=edit" name="form">
<table>
<tr>
    <td>ID</td>
    <td>专辑编号</td>
    <td>用户</td>
</tr>
<%
sql="select * from music order by album asc,id asc"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
if rs.eof and rs.bof then
else
do while not rs.eof
%>
<tr>
    <td><input type="hidden" name="id" value="<%=rs("id")%>"><%=rs("id")%></td>
    <td><input type="text" name="album" value="<%=rs("album")%>"></td>
    <td><input type="text" name="username" value="<%=rs("username")%>"></td>
</tr>
<%
rs.movenext
loop
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
<tr>
<td colspan="3" align="center"><input name="submit" type="submit" value="修改"></td>
</tr>
</table>
</form>
</body>


[ 本帖最后由 ningzhonghui 于 2010-12-27 10:29 编辑 ]
搜索更多相关主题的帖子: 菜单 如图所示 动态 
2010-12-27 10:24
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:3 
JS吧,不太在行
刷新页面的纯ASP倒是容易,提交一下ID就可以了

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-12-27 14:30
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
得分:3 
不知道我理解的对不对,你先试试下面的代码。修改用红色标出
<!--#include FILE="conn.asp"-->

<%'这段参照论谈某贴yms123版主写的动态下拉菜单选值
set rs=server.createobject("adodb.recordset")
sqltext="select * from class "
rs.open sqltext,conn,1,1
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<script language="javascript">
function p_id_Change(val)
{
var albumTxt=document.getElementById("p_album");
var usernameTxt=document.getElementById("p_username");
var tAry=val.value.split('|');
albumTxt.value=tAry[0];
usernameTxt.value=tAry[1];


//增加的
var album=document.getElementsByName("album");
for (var i=0; i<album.length; i++){
    album[i].value=val.text;
}

}
</script>
<select name="p_id" id="p_id" onChange="p_id_Change(this.options[this.selectedIndex]);">
<%do while not rs.eof %>
<option value="<%= rs("album")%>|<%= rs("username")%>" ><%= rs("id") %> </option>
<% rs.movenext
loop%> </select>
<input name="p_album" type="text" id="p_album">
<input name="p_username" type="text" id="p_username">

<%'以下是主要是批量修改,我目的是由上面的下拉菜单选值,比如我先如图所示15 那么下面的所有[专辑编号] 就自动变成15
if request("action")="edit" then
id=request("id")
album=request("album")
username=request("username")
id1=split(id,",")
album1=split(album,",")
username1=split(username,",")

for i = 0 to ubound(id1)

   set rs=server.CreateObject("adodb.recordset")
   rs.open "select * from music where id="&id1(i) ,conn,1,3
   rs("album")=trim(album1(i))
   rs("username")=trim(username1(i))
   rs.Update
   rs.Close
   set rs=nothing
next
end if
%>
<form method="post" action="?action=edit" name="form">
<table>
<tr>
    <td>ID</td>
    <td>专辑编号</td>
    <td>用户</td>
</tr>
<%
sql="select * from music order by album asc,id asc"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
if rs.eof and rs.bof then
else
do while not rs.eof
%>
<tr>
    <td><input type="hidden" name="id" value="<%=rs("id")%>"><%=rs("id")%></td>
    <td><input type="text" name="album" value="<%=rs("album")%>"></td>
    <td><input type="text" name="username" value="<%=rs("username")%>"></td>
</tr>
<%
rs.movenext
loop
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
<tr>
<td colspan="3" align="center"><input name="submit" type="submit" value="修改"></td>
</tr>
</table>
</form>
</body>


----我怎能在别人的苦难面前转过脸去----
2010-12-27 14:31
ningzhonghui
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2010-11-19
得分:0 
回复 3楼 dzt0001
多谢dzt0001兄正解!刚刚测试正功!
2010-12-27 15:04
ningzhonghui
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2010-11-19
得分:0 
回复 2楼 hams
刷新页面的纯ASP倒是容易,提交一下ID就可以了
可以贴出来看看!也好测试
2010-12-27 15:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-330010-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.159809 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved