又是联动问题
如:下拉框1内容是
1 分红
2 万能 数据表 tbl_xx字段如下
id nameType
1 a
2 b
3 a
4 b
现在如何选择下拉框1中的“分红“ 把数据表中的nameType='a'的值赋予下拉框2,
选择“万能”把把数据表中的nameType='b'的值赋予下拉框2,<select name="t1" id="t1" onChange="changelocation(document.form1.t1.options[document.form1.t1.selectedIndex].value)">
<option selected value="">选择内容</option>
<option value="1">分红</option>
<option value="2">万能</option>
</select><select name="a1" id="a1" style="width:100">
<option selected value="">选择类型</option>
</select><%
dim count
set rs=server.createobject("adodb.recordset")
sql="select * from tbl_xx"
rs.open sql,connstr,1,1%>
<script language="JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[<%=count%>] = new Array("<%= trim(rs("newtype"))%>","<%= trim(rs("id"))%>");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount=<%=count%>;function changelocation(locationid)
{
document.form1.a1.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form1.a1.options[document.form1.a1.length] = new Option(subcat[i][1], subcat[i][0]);
}
}
}
</script>
如:下拉框1内容是
1 分红
2 万能 数据表 tbl_xx字段如下
id nameType
1 a
2 b
3 a
4 b
现在如何选择下拉框1中的“分红“ 把数据表中的nameType='a'的值赋予下拉框2,
选择“万能”把把数据表中的nameType='b'的值赋予下拉框2,<select name="t1" id="t1" onChange="changelocation(document.form1.t1.options[document.form1.t1.selectedIndex].value)">
<option selected value="">选择内容</option>
<option value="1">分红</option>
<option value="2">万能</option>
</select><select name="a1" id="a1" style="width:100">
<option selected value="">选择类型</option>
</select><%
dim count
set rs=server.createobject("adodb.recordset")
sql="select * from tbl_xx"
rs.open sql,connstr,1,1%>
<script language="JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[<%=count%>] = new Array("<%= trim(rs("newtype"))%>","<%= trim(rs("id"))%>");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount=<%=count%>;function changelocation(locationid)
{
document.form1.a1.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form1.a1.options[document.form1.a1.length] = new Option(subcat[i][1], subcat[i][0]);
}
}
}
</script>
解决方案 »
- 求教如何获取textarea中光标相对于浏览器窗口或者body元素的x,y坐标.或者求教如何让下拉列表根据或者跟随textarea中光标的位置出现或者移动
- java web
- 怎么实现在一个多行多列的表格中移除某一个单元格之后,后面的单元格自动补上去
- 这个JS特效怎么改???
- 求JS代码,如何使用JS改变图片状态
- javascript函数,参数默认值该怎么加?
- 实现我的承诺,再发好东西 数据表列控件 DataGrid
- 关于输入框的字符宽度问题
- 请问在javascript中如何执行sqlserver的存储过程
- fileSaver.js插件可以通过代码设置文件保存路径吗?
- 这样怎会死循环呢?
- 寻一段下拉列表框选择时改变的代码。
举个例吧:有这样一个数据库,数据库名为WEBAccess
WEBAPP WEBASP
---------------
2 22
2 33
3 44
3 33
4 55
现在我有两个下拉例表,第一个就是:
<select name="t1" id="t1">
<option selected value="">选择内容</option>
<%strSQL = "Select distinct WEBAPP from WEBAccess order by WEBAPP"
rsASP.Open strSQL, Conn
while not rsASP.EOF%>
<option value="<%=rsASP("WEBAPP")%>"><%=rsASP("WEBAPP")%></option>
<%rsASP.movenext
wend%>
</select>
第二个是:<select name="t1" id="t1">
<option selected value="">选择内容</option>
</select>而现在我要做的就是,当第一个下拉例表中选择一项时,在第二个下拉例表中,要显示出这个表里相对应的WEBASP字段的内容。
估计要用iframe了。
或是事先存在静态结构里。
或是xmlhttp
:_)
<head>
<title></title><script language="javascript">function ToParent()
{
if(form.checked_person.options.length <=0 )
{
alert("当前select里没有值");
return;
}
if(window.opener)
{
for(var i = 0 ; i < form.checked_person.options.length ; i ++)
{
var value = form.checked_person.options[i].innerText ;
window.opener.AddSelectItem(value);
}
}
window.close();
}function leftmov(){
tempTotal=0;
for(t=0;t<form.all_person.length;t++)
if(form.all_person.options[t].selected)
tempTotal++;
if(tempTotal==0){
alert("您没有选择!");
return false;
}
i=0;
while(i<form.all_person.length){
if(form.all_person.options[i].selected){
var TempOption = new Option(form.all_person.options[i].text,form.all_person.options[i].value);
form.checked_person.add(TempOption);
form.all_person.remove(i);
}
i++;
}
}
function rightmov(){
var tempTotal=0;
for(t=0;t<form.checked_person.length;t++)
if(form.checked_person.options[t].selected)
tempTotal++;
if(tempTotal==0){
alert("您没有选择");
return false;
}
i=0;
while(i<form.checked_person.length){
if(form.checked_person.options[i].selected){
var TempOption = new Option(form.checked_person.options[i].text,form.checked_person.options[i].value);
form.all_person.add(TempOption);
form.checked_person.remove(i);
}
i++;
}
}
function sort()
{
if(form.sel_name.options[form.sel_name.selectedIndex].text=="人员")form.all_person.outerHTML="<select id=all_person size=5 style=background-color:white;width:140px;border:1px solid #999999;color:#666666;><option value=东方不败>东方不败</option><option value=永远不败>永远不败</option></select>"
if(form.sel_name.options[form.sel_name.selectedIndex].text=="角色")form.all_person.outerHTML="<select id=all_person size=5 style=background-color:white;width:140px;border:1px solid #999999;color:#666666;><option value=浏览者>浏览者</option><option value=操作者>操作者</option></select>"
if(form.sel_name.options[form.sel_name.selectedIndex].text=="部门")form.all_person.outerHTML="<select id=all_person size=5 style=background-color:white;width:140px;border:1px solid #999999;color:#666666;><option value=软件部>软件部</option><option value=财务部>财务部</option></select>"
if(form.sel_name.options[form.sel_name.selectedIndex].text=="职位")form.all_person.outerHTML="<select id=all_person size=5 style=background-color:white;width:140px;border:1px solid #999999;color:#666666;><option value=经理>经理</option><option value=员工>员工</option></select>"
}
sort(all_person)
</script>
</head>
<body>
<form action="" name="form" id="form">
<table width="100%" cellspacing="0" cellpadding="0" border="1">
<tr height="36"><td colspan="3">
<select name="sel_name" size="1" style="background-color:white;width:140px;border:1px solid #999999;color:#666666;" onchange="sort()">
<option value="1">人员</option>
<option value="2">角色</option>
<option value="3">部门</option>
<option value="4">职位</option>
</select></td></tr>
<tr height="96">
<td width="45%" align="center"><select size="5" id="all_person" name="all_person" style="background-color:white;width:140px;border:1px solid #999999;color:#666666;"><option value="东方不败">东方不败</option><option value="永远不败">永远不败</option></select></td>
<td align="center">
<input type="button" name="left" value="->" onclick="leftmov()"><br>
<input type="button" name="right" value="<-" onclick="rightmov()"><br>
</td>
<td width="45%" align="center"><select size="5" id="checked_person" name="checked_person" cols="20" style="background-color:white;width:140px;border:1px solid #999999;color:#666666;"></select></td>
</tr>
<tr><td align="center" colspan="3"><input type="button" value="确定" name="press" onclick="ToParent()"></td></tr>
</table>
<form>
</body>
</html>
Function bytes2BSTR(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
</script>
<script language="JavaScript">
/*
* 思路:通过XMLHTTP发出请求返回数据.再对数据进行处理.
* XMLHTTP返回的格式是"字符1,字符2,字符3".再到客户端分析.构建Select
* author:wanghr100(灰豆宝宝.net)
* update:2004-5-14 15:01
*/
function getData(str)
{
//通过XMLHTTP发出请求返回数据.
var oBao = new ActiveXObject("Microsoft.XMLHTTP");
oBao.open("POST","demo.asp?t1="+str,false);
oBao.send();
sdata = bytes2BSTR(oBao.ResponseBody);
//alert(sdata)
Javascript:buildSel(sdata,document.all.t2);
}
function buildSel(str,sel)
{
//接收到数据,构建Select,先清除原来的信息.
sel.options.length=1;
var arrstr = new Array();
arrstr = str.split(",");
for(var i=0;i<arrstr.length;i++)
{
sel.options[sel.options.length]=new Option(arrstr[i],arrstr[i])
}
}
</script>
<!--#include file="conn.asp"-->
<select name="t1" id="t1" OnChange="JavaScript:getData(this.value)">
<option selected value="">选择内容</option>
<%
strSQL = "Select distinct WEBAPP from WEBAccess order by WEBAPP"
set rsASP = Server.CreateObject("ADODB.Recordset")
rsASP.Open strSQL, conn
while not rsASP.EOF%>
<option value="<%=rsASP("WEBAPP")%>"><%=rsASP("WEBAPP")%></option>
<%rsASP.movenext
wend%>
</select>
第二个是:<select name="t2" id="t2">
<option selected value="">选择内容</option>
</select>
demo.asp<!--#include file="conn.asp"-->
<%
t1=Request("t1")
strSQL = "Select distinct WEBASP from WEBAccess where WEBAPP='"&t1&"'"
set rs = conn.Execute(strSQL)
outstr = ""
set rsASP = Server.CreateObject("ADODB.Recordset")
rsASP.Open strSQL, conn
while not rsASP.EOF
outstr=outstr&rsASP("WEBASP")&","
rsASP.movenext
wend
Response.Write Left(outstr,Len(outstr)-1)
%>
conn.asp<%
dim conn
dim connstr
on error resume next
connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.CreateObject("ADODB.CONNECTION")
conn.open connstr
%>数据库data.mdb
表WEBAccess
id,自动编号
WEBAPP,文本
WEBASP,文本.