我有这样一段代码,实现的大致功能是选择第一个select的值,第二个Select的内容是所有pid为第一个所选id的id,第三个select的内容是所有
pid为第二个所选id的id,其后依次类推,代码如下:
<form name="form1">
1层
<select name="select1"onchange="form1.submit();">
<option>内容</option>
<%ResultSet r1=sqlbean.executeQuery("Select id,name from item where pid='0'");
while(r1.next()){%>
<option value="<%r1=getString("id")%>"selected="selected"><%=r1.getString("name")%></option>
<%}
r1.close();%>
</select>
2层
<select name="select2"onchange="form1.sumbit();">
<option>内容</option>
<%String a2=request.getParameter("select");
ResultSet r2=sqlbean.executeQuery("Select id,name from item where pid='"+a2+"'");
while(r2.next()){%>
<option value="<%r2=getString("id")%>"selected="selected"><%=r2.getString("name")%></option>
<%}
r2.close();%>
</select>
...//其后与2层相似省略!sqlbean.executeQuery是我写的一个数据库基本操作bean。
-----------------------------------------------------------------
但是每次选择后就提交,值虽然传到了,但是显示上还是未选前的值,如何每次提交后都显示提交的值?
pid为第二个所选id的id,其后依次类推,代码如下:
<form name="form1">
1层
<select name="select1"onchange="form1.submit();">
<option>内容</option>
<%ResultSet r1=sqlbean.executeQuery("Select id,name from item where pid='0'");
while(r1.next()){%>
<option value="<%r1=getString("id")%>"selected="selected"><%=r1.getString("name")%></option>
<%}
r1.close();%>
</select>
2层
<select name="select2"onchange="form1.sumbit();">
<option>内容</option>
<%String a2=request.getParameter("select");
ResultSet r2=sqlbean.executeQuery("Select id,name from item where pid='"+a2+"'");
while(r2.next()){%>
<option value="<%r2=getString("id")%>"selected="selected"><%=r2.getString("name")%></option>
<%}
r2.close();%>
</select>
...//其后与2层相似省略!sqlbean.executeQuery是我写的一个数据库基本操作bean。
-----------------------------------------------------------------
但是每次选择后就提交,值虽然传到了,但是显示上还是未选前的值,如何每次提交后都显示提交的值?
解决方案 »
- hibernate中的flush函数,它的数据清空同步是有延迟的吗???
- mysql inner join 性能问题
- velocity struts tomcat 发生java.lang.OutOfMemoryError错误,高手进来帮忙
- 闭包的一点疑问 - 求助!
- 国际化和validate="true",为什么JSP加载就报FreeMarker template error!
- sql server 2000 for jdbc 的问题!!!没有匹配的驱动程序???该设置的都....
- JAVABEAN都有哪些规范?
- 这段代码怎么理解?
- 请教一下下面的代码哪里出错?
- jsp页面错误 高手帮看下
- netBeans5.5+webVisualPack做JSF开发时,一编译就报错说buid.xml有错,如何解决啊
- jbuilder里用struts做关于复杂表单到formbeen的投射(在线等)
=====〉
a2=request.getParameter("select1");
<form name="form1">
1层
<select name="select1"onchange="form1.submit();">
<option>内容</option>
<%String a2=request.getParameter("select");
ResultSet r1=sqlbean.executeQuery("Select id,name from item where pid='0'");
while(r1.next()){%>
<option value=<%=r1.getString("id")%> <%=a2.equals(r1.getString("id"))?"selected":""%>><%=r1.getString("name")%></option>
<%}
r1.close();%>
</select>
2层
<select name="select2"onchange="form1.sumbit();">
<option>内容</option>
<%
ResultSet r2=sqlbean.executeQuery("Select id,name from item where pid='"+a2+"'");
while(r2.next()){%>
<option value=<%=r2.getString("id")%> selected="selected"><%=r2.getString("name")%></option>
<%}
r2.close();%>
</select>
关键是这一句,当r1.getString("id")的值和上一个页面传过来的值相同时就把它设为selected
<option value=<%r1.getString("id")%> <%=a2.equals(r1.getString("id"))?"selected":""%>><%=r1.getString("name")%></option>
像你这想写是不对的
<option value=<%=r2.getString("id")%> selected="selected"><%=r2.getString("name")%></option>
这样每一个都是selected="selected"那怎么行呢,只能有一个是selected选中的
如果是的话应该是事件的问题吧,用KEYDOWN事件试试(具体叫什么有点忘了,反正是这个意思的事件)
:)希望能解决你的问题
,服务器已经获取到"2",但是显示上还是"内容",其他select一样问题,我是想我选择了"2",提交后显示的就是"2"。
请教应该怎么更改呢?
那你change的时候所提交的2能够得到
在重写下拉列表的时候多加一个条件
就是只有添加的项为2的时候为selected
而不是每个都是selected
{%>
<option value=<%=r2.getString("id")%> selected="selected"><%=r2.getString("name")%></option>
<%}%>楼主提交的值服务器端应该得的到
<form name="form1">
1层
<select name="select1"onchange="form1.submit();">
<option>内容</option>
<%String a2=request.getParameter("select");
ResultSet r1=sqlbean.executeQuery("Select id,name from item where pid='0'");
while(r1.next()){%>
<option value=<%=r1.getString("id")%> <%=a2.equals(r1.getString("id"))?"selected":""%>><%=r1.getString("name")%></option>
<%}
r1.close();%>
</select>
2层
<select name="select2"onchange="form1.sumbit();">
<option>内容</option>
<%
ResultSet r2=sqlbean.executeQuery("Select id,name from item where pid='"+a2+"'");
while(r2.next()){%>
<option value=<%=r2.getString("id")%> selected="selected"><%=r2.getString("name")%></option>
<%}
r2.close();%>
</select>
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.dec_jsp._jspService(dec_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
<%String r=request.getParameter("select");
ResultSet rs=sqlbean.executeQuery("select adminuser from admin");
while(rs.next()){%>
<option value="<%=rs.getString("adminuser")%>"
<%=r.equals(rs.getString("adminuser"))?"selected":""%>>
<%=rs.getString("adminuser")%></option>
<%}
rs.close();%>
</select>我就做了一个select,这个错误我看不明白,这段代码,刚写好测试的时候还好用,下午的时候就一直是上述错误了。
<select name="select">
<%String r="";
if(request.getMethod().equals("POST"))
{
r=request.getParameter("select");
}
ResultSet rs=sqlbean.executeQuery("select adminuser from admin");
while(rs.next()){%>
<option value="<%=rs.getString("adminuser")%>"
<%=r.equals(rs.getString("adminuser"))?"selected":""%>>
<%=rs.getString("adminuser")%></option>
<%}
rs.close();%>
</select>
<select name="select"onchange="form.submit();">
<%String r="";
if(request.getMethod().equals("POST"))
{
r=request.getParameter("select");
}
ResultSet rs=sqlbean.executeQuery("select adminuser from admin");
while(rs.next()){%>
<option value="<%=rs.getString("adminuser")%>"
<%=r.equals(rs.getString("adminuser"))?"selected":""%>>
<%=rs.getString("adminuser")%></option>
<%}
rs.close();%>
</select>
--------------------------------------------------------------------------------
我加了一个选择后提交的操作
<select name="select"onchange="form.submit();">
从下拉框选择一个值提交了以后又显示原来的值,我想显示我选择的那个值,该怎么做啊?
你的<form type=post>这里面有post的吧或者这样试试
<select name="select"onchange="form.submit();">
<%String r="";
if(request.getParameter("select")!=null)
{
r=request.getParameter("select");
}
ResultSet rs=sqlbean.executeQuery("select adminuser from admin");
while(rs.next()){%>
<option value="<%=rs.getString("adminuser")%>"
<%=r.equals(rs.getString("adminuser"))?"selected":""%>>
<%=rs.getString("adminuser")%></option>
<%}
rs.close();%>
</select>