select 下拉框的问题
如有两个下拉框是关联的
select 下拉框
有两个数据表a,b也是关联的
第一个下拉框的值是从表a中读取选中第一个下拉框的值后
第二个下拉框的值是获取第一个下拉框的表a,的id值再从表b中查找
请问????
怎么做才传到
第二个下拉框呢
应该怎么做??如果是这样呢
<select name="class_id">
<%
Music_resource_class music_resource_class = new Music_resource_class();
//music_resource_class.webRequest(request);
Music_resource_class[] music_resource_class_array = music_resource_class.select();
for (int i=0;i<music_resource_class_array.length&&music_resource_class_array[i]!=null;i++)
{
%>
<option value="<%=music_resource_class_array[i].getClass_id()%>" onChange="getValue()"><%= music_resource_class_array[i].getClass_name()%></option>
<%} %>
</select><label>
<select name="parse_id">
<%
Music_resource_classparse music_resource_classparse = new Music_resource_classparse();
music_resource_classparse.setClass_id(id); */这里的id是要取music_resource_class_array[i].getClass_id()的值*/ Music_resource_classparse[] music_resource_classparse_array= music_resource_classparse.whereClass_id();
for (int j=0;j<music_resource_classparse_array.length&&music_resource_classparse_array[j]!=null;j++)
{
out.println("<option value="+music_resource_classparse_array[j].getClass_id()+">"+music_resource_classparse_array[j].getParse_name()+"</option>");
}
%>
</select>那怎么做??
如有两个下拉框是关联的
select 下拉框
有两个数据表a,b也是关联的
第一个下拉框的值是从表a中读取选中第一个下拉框的值后
第二个下拉框的值是获取第一个下拉框的表a,的id值再从表b中查找
请问????
怎么做才传到
第二个下拉框呢
应该怎么做??如果是这样呢
<select name="class_id">
<%
Music_resource_class music_resource_class = new Music_resource_class();
//music_resource_class.webRequest(request);
Music_resource_class[] music_resource_class_array = music_resource_class.select();
for (int i=0;i<music_resource_class_array.length&&music_resource_class_array[i]!=null;i++)
{
%>
<option value="<%=music_resource_class_array[i].getClass_id()%>" onChange="getValue()"><%= music_resource_class_array[i].getClass_name()%></option>
<%} %>
</select><label>
<select name="parse_id">
<%
Music_resource_classparse music_resource_classparse = new Music_resource_classparse();
music_resource_classparse.setClass_id(id); */这里的id是要取music_resource_class_array[i].getClass_id()的值*/ Music_resource_classparse[] music_resource_classparse_array= music_resource_classparse.whereClass_id();
for (int j=0;j<music_resource_classparse_array.length&&music_resource_classparse_array[j]!=null;j++)
{
out.println("<option value="+music_resource_classparse_array[j].getClass_id()+">"+music_resource_classparse_array[j].getParse_name()+"</option>");
}
%>
</select>那怎么做??
<script>
function getValue(){
document.getElementById("sel").submit();
}
</script>
//表单action 设置为空,提交到本页面
<form id="sel" action="">
<select name="class_id">
<%
Music_resource_class music_resource_class = new Music_resource_class();
//music_resource_class.webRequest(request);
Music_resource_class[] music_resource_class_array = music_resource_class.select();
for (int i=0;i<music_resource_class_array.length&&music_resource_class_array[i]!=null;i++)
{
%>
<option value="<%=music_resource_class_array[i].getClass_id()%>" onChange="getValue()"><%= music_resource_class_array[i].getClass_name()%></option>
<%} %>
</select><label>
<select name="parse_id">
<%
Music_resource_classparse music_resource_classparse = new Music_resource_classparse();
//==========================================
//取得ID值
String id=request.getParameter("class_id");
//如果没有选择第一个,ID为空
if(id==null || id.equals("")){
out.print("<option>请选择第一个下拉值</option>");
}else{
//id不为空,执行下面的代码
//==========================================
music_resource_classparse.setClass_id(id); */这里的id是要取music_resource_class_array[i].getClass_id()的值*/ Music_resource_classparse[] music_resource_classparse_array= music_resource_classparse.whereClass_id();
for (int j=0;j<music_resource_classparse_array.length&&music_resource_classparse_array[j]!=null;j++)
{
out.println("<option value="+music_resource_classparse_array[j].getClass_id()+">"+music_resource_classparse_array[j].getParse_name()+"</option>");
}
//=============================================
}
%>
</select>
//==================
//表单结束
</form>
选择 <select name="class_id">的值后
<select name="parse_id">的值也相应的改变啊
??
out.print("<option>请选择第一个下拉值</option>");
}else{
//id不为空,执行下面的代码
//==========================================
music_resource_classparse.setClass_id(id); */这里的id是要取music_resource_class_array[i].getClass_id()的值*/ Music_resource_classparse[] music_resource_classparse_array= music_resource_classparse.whereClass_id();
for (int j=0;j<music_resource_classparse_array.length&&music_resource_classparse_array[j]!=null;j++)
{
out.println("<option value="+music_resource_classparse_array[j].getClass_id()+">"+music_resource_classparse_array[j].getParse_name()+"</option>");
}
//=============================================
那就要看你上面这段代码是否正确了,上面这段应该是从数据库中根据ID读取第二个下拉的内容,然后循环展示到页面上的
但在
选择 <select name="class_id">的值后
<select name="parse_id">的值是空的啊
String id=request.getParameter("class_id");
System.out.println(id);
输出id看看取到值了没有?
function getValue(){
document.getElementById("sel").submit();
}
</script>
这个是不是要提交键才会运行呀
function getValue(){
document.getElementById("sel").submit();
</script>
</HEAD><BODY>
<%@ include file="import.jsp"%>
<%
request.setCharacterEncoding("gb2312");
ResultSet rs = null;
String sql;
if (request.getParameter("chinese_name")!=null)
{
Music_resource_info music_resource_info = new Music_resource_info();
music_resource_info.webRequest(request);
music_resource_info.insert();
out.println("更新成功!");
if (request.getParameter("song_word")!=null)
{
DatabaseAccess dba = new DatabaseAccess();
Music_song_word music_song_word = new Music_song_word();
sql="select resource_id from MUSIC_RESOURCE_INFO order by resource_id desc";
music_resource_info.setSql(sql);
rs = dba.executeQuery(music_resource_info.getSql());
if(rs.next()){
rs.first();
music_song_word.setResource_id(rs.getInt("resource_id"));
}
else{
music_song_word.setResource_id(1);
}
music_song_word.webRequest(request);
music_song_word.insert();
}}
%>
<FORM METHOD=POST ACTION="" name="sel" id="sel">
<table width="600" border="1">
<tr bgcolor="#F8F8F8" align="center" height="25"><td colspan="2"><b><font color="#FF0000" size="3">添加歌曲信息</font></b></td></tr>
<tr height="30" bgcolor="#FFFFFF">
<td width="25%"> 专辑名称:</td>
<td width="75%"><INPUT TYPE="text" NAME="special"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td> 英文名:</td>
<td><INPUT TYPE="text" NAME="english_name"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td> 中文名:</td>
<td><INPUT TYPE="text" NAME="chinese_name"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td width="25%"> 歌曲类型:</td>
<td width="75%"><select name="class_id">
<%
Music_resource_class music_resource_class = new Music_resource_class();
//music_resource_class.webRequest(request);
Music_resource_class[] music_resource_class_array = music_resource_class.select();
for (int i=0;i<music_resource_class_array.length&&music_resource_class_array[i]!=null;i++)
{
///out.println("<option value="+music_resource_class_array[i].getClass_id()+">"+music_resource_class_array[i].getClass_name()+"</option>");
//}
%>
<option value="<%=music_resource_class_array[i].getClass_id()%>" onChange="getValue()"><%= music_resource_class_array[i].getClass_name()%></option>
<%} %>
</select><label>
<select name="parse_id">
<%
Music_resource_classparse music_resource_classparse = new Music_resource_classparse();
String id=request.getParameter("class_id");
if(id==null || id.equals("")){
out.print("<option>请选择第一个下拉值</option>");
out.println(id);
}else{
int p_id=Integer.parseInt(id);
music_resource_classparse.setClass_id(p_id);
out.println(id);
}
Music_resource_classparse[] music_resource_classparse_array= music_resource_classparse.whereClass_id();
for (int j=0;j<music_resource_classparse_array.length&&music_resource_classparse_array[j]!=null;j++)
{
out.println("<option value="+music_resource_classparse_array[j].getClass_id()+">"+music_resource_classparse_array[j].getParse_name()+"</option>");
}
%>
</select></label></td>
</tr><tr height="30" bgcolor="#FFFFFF">
<td width="25%"> 歌曲首字母:</td>
<td width="75%"><INPUT TYPE="text" NAME="song_frist"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td> 查找关键字:</td>
<td><INPUT TYPE="text" NAME="search_keyword"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td width="25%"> 备注:</td>
<td width="75%"><INPUT TYPE="text" NAME="memo"></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td width="25%"> 歌手:</td>
<td width="75%"><select name="singer_id">
<%
Music_singer music_singer = new Music_singer();
Music_singer[] music_singer_array = music_singer.select();
for (int i=0;i<music_singer_array.length&&music_singer_array[i]!=null;i++)
{
out.println("<option value="+music_singer_array[i].getSinger_id()+">"+music_singer_array[i].getSinger_name()+"</option>");
}
%>
</select></td>
</tr>
<tr height="30" bgcolor="#FFFFFF">
<td class="STYLE2"><font size="3"> 歌词</font></td>
<td><textarea name="song_word" rows="" cols=""></textarea></td>
</tr>
<tr height="30" bgcolor="#FFFFFF"><td width="25%"> </td><td width="75%"><INPUT TYPE="submit"><INPUT TYPE="reset"></td></tr>
</table>
</FORM>
<a href="Music_resource_infoSelect.jsp">返回</a></BODY></HTML>
function getValue(){
document.getElementById("sel").submit();
</script>
==============
这少个 }这个方法在这里调用
<select name="class_id" onChange="getValue();">
==============
把你的
%>
<option value="<%=music_resource_class_array[i].getClass_id()%>" onChange="getValue()"><%= music_resource_class_array[i].getClass_name()%></option>
<%} %>
</select>
这其中的
onChange="getValue()"这个去掉
在选择 <select name="class_id">的值后
<select name="parse_id">的值只列出一个值
还有会自动更新
out.println("更新成功!");