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

菜鸟问题:同一个表中两个字段的关联

gjpym 发布于 2011-05-08 14:57, 1022 次点击
菜鸟问题:同一个表中两个字段的关联

一个表里有两个字段:tran,syzq,这两个是一一对应的关系.

然后在一个输入画面,器具是多选,


我选好器具后,如何在器具编号(tran)里自动列出跟器具字段相对应的器具编号(syzq)字段,谢谢!
 
13 回复
#2
gjpym2011-05-08 14:59
错了,最后一句应该是:我选好器具(tran)后,如何在器具编号里自动列出跟器具字段相对应的器具编号(syzq),谢谢!
#3
wangjy5002011-05-08 15:59
没看明白!
#4
gjpym2011-05-08 17:47
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

就是器具是多选,如果选中一个后,另一个器具编号怎么自动显示出来?
#5
wangjy5002011-05-08 19:39
js实现二级连动
#6
wangjy5002011-05-08 19:43
代码拿出来看看。
#7
gjpym2011-05-09 08:49
<tr>
              <td> <div align="right">器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具 : </div></td>
              <%
              set rs1=server.createobject("adodb.recordset")
              exec="select * from tran"
              rs1.open exec,conn,1,1
              %>
              <td><select name="tran">
               <%do while not rs1.eof%>
                <option><%=rs1("tran")%></option>
                <%
rs1.movenext
loop
rs1.close
set rs1=nothing
%>
                           </select></td>
            </tr>
            <tr>
              <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="1" bgcolor="#D3DD9B"></td>
                </tr>
              </table></td>
              </tr>
               <tr>
              <td> <div align="right">器 具 编 号 : </div></td>
              <td><input name="syzq" type="text" id="syzq" size="50"></td>
              </tr>
打开网页,器具里有十几项可供选择,如果选好器具后,器具编号自动写入,不用填写,因为在表tran里器具有相对应的器具编号,因为这个代码不会写,所以器具编号里我没有写直接写入的代码,困扰多日,请大家帮忙,谢谢!
#8
yms1232011-05-09 11:02
<tr>
              <td> <div align="right">器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具 : </div></td>
              <%
              set rs1=server.createobject("adodb.recordset")
              exec="select * from tran"
              rs1.open exec,conn,1,1
              %>
              <td><select onchange="document.getElementById("syzq").value=this.options[this.selectedIndex].value; name="tran">
               <%do while not rs1.eof%>
                <option value=<%=rs1("syzq")%> ><%=rs1("tran")%></option>
                <%
rs1.movenext
loop
rs1.close
set rs1=nothing
%>
                           </select></td>
            </tr>
            <tr>
              <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="1" bgcolor="#D3DD9B"></td>
                </tr>
              </table></td>
              </tr>
               <tr>
              <td> <div align="right">器 具 编 号 : </div></td>
              <td><input name="syzq" type="text" id="syzq" size="50"></td>
              </tr>
#9
gjpym2011-05-09 15:29
不行呀,器具编号还是不能自动出结果呀,555555~~~~
#10
zhangjx20102011-05-09 15:34
ajax实现级联操作
#11
zhangjx20102011-05-09 15:41
参照这个
在器具那个控件上加onchange事件,在函数里把填入的器具值得到,发送到后台数据库,然后返回到jsp页面,把编程填写到相应位置。
//下拉表联动
          function testOperType(){
            var status_Select = encodeURI(encodeURI($("#status").val()));
            location.href="${pageContext.request.contextPath}/testSql/addNmTestSql            Def.action?status_Select="+status_Select;
        }
#12
wangjy5002011-05-09 22:02
程序代码:

<script language = "javascript">
var i,j;
j
=0;
goaler
= new Array();
<%set rs_p=conn.execute("select * from tran")
if rs_p.eof then%>
goaler[
0] = new Array("","");
<%else
i
=0
do while not rs_p.eof%>
goaler[
<%=i%>] = new Array("<%=rs_p("syzq")%>","<%=rs_p("id")%>");
<%rs_p.movenext
i
=i+1
loop
end
if
rs_p.close
%>
j
=<%=i%>;

function changelocation(id)//传递一级分类的值,从而改变二级分类
{
//document.getElementById("syzq").value="";
var i;
for (i=0;i < j; i++)
{
if (goaler[i][1] ==id)
document.getElementById(
"syzq").value = goaler[i][0];
}
}
</script>
<tr>
              <td> <div align="right">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具 : </div></td>
              <%
              
set rs1=server.createobject("adodb.recordset")
              exec
="select * from tran"
              rs1.open exec,conn,
1,1
              
%>
              <td><select name="tran" id="tran" onChange="changelocation(this.options[this.selectedIndex].value)">
                <option selected value="">请选择器具</option>
               <%do while not rs1.eof%>
                <option  value="<%=rs1("id")%>"><%=rs1("tran")%></option>
                <%
rs1.movenext
loop
rs1.close
set rs1=nothing
%>
                           </select></td>
            </tr>
            <tr>
              <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="1" bgcolor="#D3DD9B"></td>
                </tr>
              </table></td>
              </tr>
               <tr>
              <td> <div align="right">器 具 编 号 : </div></td>
              <td><input name="syzq" type="text" id="syzq" size="50"></td>
              </tr>
#13
liang1982072011-05-10 17:22
<tr>
               <td> <div align="right">器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具 : </div></td>
               <%
               set rs1=server.createobject("adodb.recordset")
               exec="select * from tran"
               rs1.open exec,conn,1,1
               %>
               <td><select onchange="document.getElementById('syzq').value=this.options[this.selectedIndex].value;"name="tran">
                <%do while not rs1.eof%>
                 <option value=<%=rs1("syzq")%> ><%=rs1("tran")%></option>
                 <%
 rs1.movenext
 loop
 rs1.close
 set rs1=nothing
 %>
                            </select></td>
             </tr>
             <tr>
               <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                 <tr>
                   <td height="1" bgcolor="#D3DD9B"></td>
                 </tr>
               </table></td>
               </tr>
                <tr>
               <td> <div align="right">器 具 编 号 : </div></td>
               <td><input name="syzq" type="text" id="syzq" size="50"></td>
               </tr>
这个吧  我测试了一下是可以的 8楼的同志写对了 就是双引号和单引号搞错了 我改了一下应该是可以的
#14
liang1982072011-05-10 17:25
用不着分级这么麻烦,只是将select里面的VALUE赋值成ID 再将这个ID给下面的VALUE就可以了,加个onchangge函数监视一下。
1