索求俩个联动的下拉框的源代码(都是用jsp连接oracle数据库,要求用js的数组做的)

roymand 2003-10-15 04:26:58
在网上类似的挺多,但我想要源代码,下拉框中的数据都是用jsp连接oracle数据库的,要求用js的数组做
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobZ 2003-10-21
  • 打赏
  • 举报
回复
我用iframe和javascript实现了动态取数据的联动下拉框
killerdanny 2003-10-21
  • 打赏
  • 举报
回复
<td> <select name="select2" onChange="javascript:changeprovince(document.Link);">
killerdanny 2003-10-21
  • 打赏
  • 举报
回复
我给你贴一个吧,刚写好的!


<%sqlRst=sqls.executeQuery(sql1);


if (sqlRst != null)
{
int i = 0;
while (sqlRst.next()){
String[] sList = new String[2];
product_kind=sqlRst.getString ("product_kind");
product_kind_name=sqlRst.getString ("product_kind_name");
sList[0]=product_kind;
sList[1]=product_kind_name;
//out.print(sList[0]+sList[1]);
list.add(sList);//ArrayList:小类

}
}


%>
<%sqlRst=sqls.executeQuery(sql);


if (sqlRst != null)
{
int i = 0;
while (sqlRst.next()){
String[] sList = new String[2];
product_kind=sqlRst.getString ("product_kind");
product_kind_name=sqlRst.getString ("product_kind_name");
sList[0]=product_kind;
sList[1]=product_kind_name;
//out.print(sList[0]+sList[1]);
list1.add(sList);//ArrayList:大类

}
}


%>
<script language="javascript">
function lTrim(str)
{
if (str.charAt(0) == " ")
{
//如果字串左边第一个字符为空格
str = str.slice(1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(1, str.length);
str = lTrim(str); //递归调用
}
return str;
}

//去掉字串右边的空格
function rTrim(str)
{
var iLength;

iLength = str.length;
if (str.charAt(iLength - 1) == " ")
{
//如果字串右边第一个字符为空格
str = str.slice(0, iLength - 1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(0, iLength - 1);
str = rTrim(str); //递归调用
}
return str;
}

//去掉字串两边的空格
function trim(str)
{
return lTrim(rTrim(str));
}
function InitsmallClass()
{
province = new Array();


<% for (int i=0; i<list.size(); i++) {
temp = (String[])list.get(i);
%>
province[<%=i%>]=new Array();
province[<%=i%>][0]=" <%=temp[0]%>";
province[<%=i%>][1]=" <%=temp[1]%>";
//alert(province[<%=i%>][1]);
<%}%>
}

function InitBigClass()
{
prov = new Array();


<% for (int i=0; i<list1.size(); i++) {
temp1 = (String[])list1.get(i);
%>
prov[<%=i%>]=new Array();
prov[<%=i%>][0]=" <%=temp1[0]%>";
prov[<%=i%>][1]=" <%=temp1[1]%>";
// alert(prov[<%=i%>][1]);
<%}%>
}


InitBigClass();
InitsmallClass();

function changeprovince(myfrm)
{

var selectedprovinceid,i,j;
for(i=Link.pkind.options.length-1;i>=0;--i)
{
Link.pkind.options[i]=null; //清空改变之前
}
selectedprovinceid=Link.select2.options[Link.select2.selectedIndex].value; //获取改变后的
//alert(selectedprovinceid);
selectedprovinceid=trim(selectedprovinceid)

j=0;
for(i=0;i<province.length;i++)
{
var pro
pro=province[i][0];
pro =trim(pro.substring(1,4));
//alert(pro);
if(selectedprovinceid==pro)
{
//alert("????");
Link.pkind.options[j]=new Option(trim(province[i][1]),trim(province[i][0]));//1改成0
//alert(Link.pkind.options[j].value);
++j;
}
}
}
</script>
凋零的老树 2003-10-20
  • 打赏
  • 举报
回复
如果是静态的还好办一点,一点一点的写就行,如果都是从数据库读出来的那会烦死人的
etre 2003-10-20
  • 打赏
  • 举报
回复
function OnScnyStyleChange(scnyValue)
{
switch(scnyValue)
{
case '0':
var labels = new Array("请选择");
var values = new Array("0");
tableCell1.innerHTML='';
tableCell2.innerHTML='';
break;
case '1':
var labels = new Array("请选择");
var values = new Array("0");
tableCell1.innerHTML='';
tableCell2.innerHTML='';
break;
case '2':
var labels = new Array("请选择");
var values = new Array("0");
tableCell1.bgcolor='#f4f7fa';
tableRow1.style.display="block";
tableCell1.innerHTML=' 会议结束日期:';
tableCell2.innerHTML='<input type="text" name="COM_MEETING.END_DATE" id=endDate size="13" maxlength=10>';
break;
case '3':
var labels = new Array("请选择","星期一","星期二","星期三","星期四","星期五","星期六","星期天");
var values = new Array("0","1","2","3","4","5","6","7");
tableRow1.style.display="block";
tableCell1.bgcolor='#f4f7fa';
tableCell1.innerHTML=' 会议结束日期:';
tableCell2.innerHTML='<input type="text" name="enddate1" id=endDate size="13" maxlength=10>';
break;
case '4':
var labels = new Array("请选择","1号","2号","3号","4号","5号","6号","7号","8号","9号","10号","11号","12号","13号","14号","15号","16号","17号","18号","19号","20号","21号","22号","23号","24号","25号","26号","27号","28号","29号","30号","31号");
var values = new Array("0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
tableRow1.style.display="block";
tableCell1.bgcolor='#f4f7fa';
tableCell1.innerHTML=' 会议结束日期:';
tableCell2.innerHTML='<input type="text" name="enddate1" id=endDate size="13" maxlength=10>';
break;
}
// 清空市列表选择框的内容
document.meetingAdd.scnyTime.options.length = 0;
// 从数组中添加内容
for(var i = 0; i < labels.length; i++)
{
document.meetingAdd.scnyTime.add(document.createElement("OPTION"));
document.meetingAdd.scnyTime.options[i].text=labels[i];
document.meetingAdd.scnyTime.options[i].value=values[i];
}
document.meetingAdd.scnyTime.selectedIndex = 0;

}

<TR id=tableRow1>
<TD width="93" height="20" align=right bgcolor="#f4f7fa">会议循环方式:</TD>
<TD bgColor=#ffffff><font
color=#ff6600>
<select name="COM_MEETING.SCNY_STYLE" id="scnyStyle" onChange="OnScnyStyleChange(this.value)">
<option value="0"selected >请选择</option>
<option value="1" >一次</option>
<option value="2">每天</option>
<option value="3">每周</option>
<option value="4">每月</option>
</select>
</font>的<font
color=#ff6600>
<select name="COM_MEETING.SCNY_TIME" id="scnyTime">
<option value="0"selected >请选择</option>
</select>
<font color="#FF0000">*</font></font><font
color=#ff6600>   </font></TD>
<TD width="101" align=right bgColor=#f4f7fa id="tableCell1"> </TD>
<TD width="181" bgColor=#ffffff id=tableCell2> </TD>
</TR>
killerdanny 2003-10-20
  • 打赏
  • 举报
回复
upup

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧