javascript刷新select组件

大真 2007-08-15 01:43:13
在jsp页面中做了两个select.第一个select中的内容是从数据库中读取..当选择其中一个值的时候..把这个值在上数据库中查找内容.查找到的内容放在第二个select中去.

问题是:功能实现了..可是点击第一个select中的值的时候.第二个select没结果..但是一刷新页面..第二个select就有结果了...问一下大家..我用什么语句可以自动刷新第二个select中的内容呢.
...全文
748 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
大真 2007-08-15
  • 打赏
  • 举报
回复
等等...我研究一下.
zhuzhigangmsn 2007-08-15
  • 打赏
  • 举报
回复
给分!
zhuzhigangmsn 2007-08-15
  • 打赏
  • 举报
回复
<script>
function changeOptionvalue(source,field){
var selectedValue = document.all["parentchannelnumber"].options[document.all.parentchannelnumber.selectedIndex].value;
var mySource = source.split("|");
for( i = 0; i < mySource.length ; i++ ){
var subSource = mySource[i].split(",");
if( subSource[0] == selectedValue ){
field.value = subSource[1];
}
}
}
</script>



<select name="channellevel" class="SeleteLevel">
<option value="1">一级栏目</option>
<option value="2">二级栏目</option>
</select>




<select id="parentchannelnumber" name="parentchannelnumber" class="SeleteLevel" onchange="changeOptionvalue('<%=parentChannelNameSource%>',document.channelmanager.parentchannelname)" >
<%
if( channelLevel != 2 ){
out.println("<option value=1>无上级栏目</option>");
}else{
out.println(showOptionSelected);
}
%>
</select>
大真 2007-08-15
  • 打赏
  • 举报
回复
这个是我处理的页面
<%
session.setAttribute("v",con.findLensName(con.chString(request.getParameter("id"))));
%>
<script>
window.history.back();
</script>
大真 2007-08-15
  • 打赏
  • 举报
回复
这个是有select的页面.
<select id="pany" onchange="pan()">
<option value="0">请您选择单位名称</option>
<% try{
rs=st.executeQuery(company);
while(rs.next()){
%>    
<option value="<%=rs.getString("company")%>">
<%=rs.getString("company")%>
</option>
<%
}
}catch(NullPointerException e){
System.out.println("没有连接数据库");
e.printStackTrace();
e.getMessage();
}%>
</select>
<td>镜头ID</td>
<TD><select id="lens" onchange="p()">
<option value="">请您选择镜头ID</option>
<%
Vector v1=(Vector)session.getAttribute("v");
if(v1==null){
v1=new Vector();
}
SelectBean sb=null;
for(int i=0;i<v1.size();i++){
sb=(SelectBean)v1.elementAt(i);
%>

<option value="<%=sb.getLensname()%>"><%=sb.getLensname()+"<br>"%></option>
<%}%>
</select></TD>
大真 2007-08-15
  • 打赏
  • 举报
回复
我往第二个select中添加内容是用:
<select id="lens" onchange="p()">
<option value="">ID</option>
<%
Vector v1=(Vector)session.getAttribute("v");
if(v1==null){
v1=new Vector();
}
SelectBean sb=null;
for(int i=0;i<v1.size();i++){
sb=(SelectBean)v1.elementAt(i);
%>
option value="<%=sb.getLensname()%>"><%=sb.getLensname()+"<br>"%></option>
<%}%>
</select>
您写的代码..我放在哪里啊.怎么能执行到这些代码呢.
sudawei123 2007-08-15
  • 打赏
  • 举报
回复
一样啊,发出你的代码来看一下
孟子E章 2007-08-15
  • 打赏
  • 举报
回复
我的代码是新生成第二个select的下拉框,
sudawei123 2007-08-15
  • 打赏
  • 举报
回复
你应该在第一个select里添加onchange=""调用一个javascript的方法给第二个select负值
sudawei123 2007-08-15
  • 打赏
  • 举报
回复
document.forms[0].s2.options.length = 0 把第二个select清空
for(i = 0;i<10;i++){循环给第二个select添加内容
document.forms[0].s2.options[document.forms[0].s2.options.length] =new Option(i,i)
}
大真 2007-08-15
  • 打赏
  • 举报
回复
net_lover这位大侠...你写的代码是什么意思呢..能不能详细说明一下
大真 2007-08-15
  • 打赏
  • 举报
回复
取到数据以我是在另一个页面处理的..之后把结果返回到当前页面中的select(第二个)中去的.你写的代码..我是放在有select这个页面里.还是放在我处理的页面中去呢.
孟子E章 2007-08-15
  • 打赏
  • 举报
回复
你数据怎么取的?

取到数据后执行

document.forms[0].s2.options.length = 0
for(i = 0;i<10;i++)
document.forms[0].s2.options[document.forms[0].s2.options.length] =new Option(i,i)
大真 2007-08-15
  • 打赏
  • 举报
回复
请高手.帮帮助

81,094

社区成员

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

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