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

多项选择问题,版主帮忙

treadwind 发布于 2008-06-15 02:48, 1001 次点击
比如现在我有一个列表

列表1
列表2
列表3
列表4
列表5

我想做成下拉列表,然后让用户选择,用户每次选择一项就在我另外的一个文本框里面显示出来。有没有办法。或是有没有其他更好的可以实现这样功能的代码???
6 回复
#2
hmhz2008-06-15 08:17
可以实现,但你说多项选择,而下拉选择只能单项选择,不明白你究竟要怎样
#3
multiple19022008-06-15 08:26
他说的是,从单项里每次选出一项,放到文本框里,于是就成多项了……
#4
永夜的极光2008-06-15 09:06
多项选择如果总选择项是一定的,而且不太多,用多个复选框最好了
#5
hmhz2008-06-15 09:09
这样啊,呵呵,那得需要判断了

因为下来是单项选择,每次选择只能传递一个参数,所以每次的选择都要判断内容是否相同,然后传递到对应的文本框里去
#6
hmhz2008-06-15 09:24
程序代码:
第一种方式
<script language="JavaScript">
function Change() {
var e=document.getElementById("e").options[document.getElementById("e").selectedIndex].value;
switch(e) {
case"1111111111111": document.all("USD").value=e; break;
case"2222222222222": document.all("EUR").value=e; break;
case"3333333333333": document.all("GBP").value=e; break;
case"4444444444444": document.all("AUD").value=e; break;
case"5555555555555": document.all("CAD").value=e; break;
}}
</script>


<select name="e" id="e" onchange="return Change();">
<option value="1111111111111">111111</option>
<option value="2222222222222">222222</option>
<option value="3333333333333">333333</option>
<option value="4444444444444">444444</option>
<option value="5555555555555">555555</option>
</select>
<input type="text" id="USD" />
<input type="text" id="EUR" />
<input type="text" id="GBP" />
<input type="text" id="AUD" />
<input type="text" id="CAD" />

第二种方式
<script language="JavaScript">
function Change() {
var e=document.getElementById("e").options[document.getElementById("e").selectedIndex].value;
switch(e) {
case"1111111111111": document.all("USD").value=e; document.all("USD").style.display="block"; break;
case"2222222222222": document.all("EUR").value=e; document.all("EUR").style.display="block"; break;
case"3333333333333": document.all("GBP").value=e; document.all("GBP").style.display="block"; break;
case"4444444444444": document.all("AUD").value=e; document.all("AUD").style.display="block"; break;
case"5555555555555": document.all("CAD").value=e; document.all("CAD").style.display="block"; break;
}}
</script>


<select name="e" id="e" onchange="return Change();">
<option value="1111111111111">111111</option>
<option value="2222222222222">222222</option>
<option value="3333333333333">333333</option>
<option value="4444444444444">444444</option>
<option value="5555555555555">555555</option>
</select>
<input type="text" id="USD" style="display:none;" />
<input type="text" id="EUR" style="display:none;" />
<input type="text" id="GBP" style="display:none;" />
<input type="text" id="AUD" style="display:none;" />
<input type="text" id="CAD" style="display:none;" />
#7
zhangjianghan2008-06-16 15:55
你可以先建一个像大类的页面:如a.asp页面

<select name="select" onChange="javascript:location.href=this.options[selectedIndex].value">
        <option value="" >==请选择==</option>
        <%
                  set rst=server.CreateObject("adodb.recordset")
             sql="select * from a order by aid desc"
                  rst.open sql,conn,1,1
        while not rst.eof  %>
        <option value="b.asp?id=<%=rst("aid")%>" ><%=rst("aname")%></option>
        <%  
         rst.movenext
wend
 %>
        </select>

再建一个像详细页的页面:如b.asp页面

    <%
 set rst=server.CreateObject("adodb.recordset")
  sql="select * from b where aid="&request.querystring("id")
rst.open sql,conn,1,1
while not rst.eof
%>
 
    <tr >
      <td><%=rst("bname")%></td>
    </tr>
<%
  rst.movenext
wend
rst.close
%>


当然在把数据写进b表时,要把a表的id写进b表里,因为a(aid,aname)表和b(bia,bname,aid)表的关联是a表的id,你可以用地址传值方法得到id值并写进数据库b表:aid=<%=request.querystring("id")%>
1