编程论坛's Archiver

treadwind 发表于 2008-6-15 02:48

多项选择问题,版主帮忙

比如现在我有一个列表

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

我想做成下拉列表,然后让用户选择,用户每次选择一项就在我另外的一个文本框里面显示出来。有没有办法。或是有没有其他更好的可以实现这样功能的代码???

hmhz 发表于 2008-6-15 08:17

可以实现,但你说多项选择,而下拉选择只能单项选择,不明白你究竟要怎样

multiple1902 发表于 2008-6-15 08:26

他说的是,从单项里每次选出一项,放到文本框里,于是就成多项了……

永夜的极光 发表于 2008-6-15 09:06

多项选择如果总选择项是一定的,而且不太多,用多个复选框最好了

hmhz 发表于 2008-6-15 09:09

这样啊,呵呵,那得需要判断了

因为下来是单项选择,每次选择只能传递一个参数,所以每次的选择都要判断内容是否相同,然后传递到对应的文本框里去

hmhz 发表于 2008-6-15 09:24

[code]第一种方式
<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;" />[/code]

zhangjianghan 发表于 2008-6-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]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.