下拉列表框问题。

xzylil 2003-08-19 09:09:58
点击detail.jsp里面的修改按钮进入update.jsp,如何使下拉列表里的值传到update.jsp里面的下拉列表里而不变?我现在做出来的结果是,进入到update.jsp里面后总是默认选择了下拉列表的第一项,这在用户不修改数据而直接返回的时候显然是错误的。
...全文
252 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
gisgeoboy 2003-08-19
  • 打赏
  • 举报
回复
我现在在试,待会儿答复你。
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
对不起,说的有点模糊
应该是
也就是说detail.jsp和update.jsp两个页面中的下拉框每个元素的value值要两个页面对应相同
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
如果两个页面中的不相同那就选不中
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
你detail.jsp页面中的下拉框的试不是这样的<OPTION value="<%=rs_1.getString(1)%>" >,
也就是说detail.jsp和update.jsp两个页面中的下拉框每个元素的value值要相同
gisgeoboy 2003-08-19
  • 打赏
  • 举报
回复
应该这样写:<OPTION value="<%=rs_1.getString(1)%>"><%=rs_1.getString(1)%>
xzylil 2003-08-19
  • 打赏
  • 举报
回复
to:天马行空
结果是下拉列表中为空选项,不是传过来的值:)
huanxiangzhe24 2003-08-19
  • 打赏
  • 举报
回复
看你想在哪里处理问题了,如果是想在html页面内,推荐用javascript的方法。

如果是想在javabean或java语句内,那就用那些有<%%>的方法吧。
gisgeoboy 2003-08-19
  • 打赏
  • 举报
回复
举例子:在detail.jsp中<select name="combox" id="combox">
<option value="团员" selected>团员
<option value="党员">党员
</select>
在update.jsp中
<% String combo=new String();
String[] comboList=request.getParameterValues("combox");
for(int i=0;i<StudSexList.length;i++)
{ combo+=StudSexList[i];}
然后接收变量combo的数据
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
<OPTION value="<%=rs_1.getString(1)%>" <%if(rs_1.getString(1).equals(rs.getString("peareside_kind"))) out.print("selected");%>><%=rs_1.getString(2)%></OPTION>
应该改为:
<OPTION value="<%=rs_1.getString(1)%>" <%if(rs_1.getString(1).equals(kind)) out.print("selected");%>><%=rs_1.getString(2)%></OPTION>
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
你那样的做法要<OPTION value="<%=rs_1.getString(1)%>" <%if(rs_1.getString(1).equals(rs.getString("peareside_kind"))) out.print("selected");%>><%=rs_1.getString(2)%></OPTION>这段程序中的比较然后选中它就没有什么意义,你是直接把下拉框的内容写成了kind,而不是根据比较候选中某个下拉框内容
xzylil 2003-08-19
  • 打赏
  • 举报
回复
不行啊,如果没有value="<%=kind%>"的话,就如我刚开始所说的,update.jsp的下拉列表就默认显示第一个选项了
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
update.jsp页面里能得到detail.jsp中的信息跟你加不加value="<%=kind%>"没有关系,是因为你的form中的Method和Action属性决定的,如果Method="post" Action="update.jsp",那么你用一个submit将本页信息提交,就可以在update.jsp页面中得到form中的信息
xzylil 2003-08-19
  • 打赏
  • 举报
回复
就是从detail.jsp里传过来的,detail.jsp里是从数据库中读取的,不如a,b,c3个值,现在数据库中存的是c,要求读到update.jsp里的“性质”下拉列表里还是显示c。
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
你的变量kind是在哪里赋的值?值是什么?
xzylil 2003-08-19
  • 打赏
  • 举报
回复
<TD nowrap>
<div align="right"><font size="2">*性质</font></div></TD>
<TD nowrap>
<SELECT name="kind" value="<%=kind%>">
<OPTION></OPTION>
<%String sql_1;
ResultSet rs_1;
sql_1="select datavalue,displayvalue from muduleinfor where sysid='PEARESIDE_KIND'";
rs_1=data.executeQuery(sql_1);
while(rs_1.next()){
%>
<OPTION value="<%=rs_1.getString(1)%>" <%if(rs_1.getString(1).equals(rs.getString("peareside_kind"))) out.print("selected");%>><%=rs_1.getString(2)%></OPTION>
<%}
%>
</SELECT>
</TD>
</TR>


对于上面的这样的例子,我在第四行直接加了value="<%=kind%>",结果也能成功地从detail.jsp里把性质读到update.jsp里,请问这种做法有什么不妥吗?
zxdhaha 2003-08-19
  • 打赏
  • 举报
回复
那就将detail.jsp页面中需要提交的信息提交给自己(detail.jsp),
比如选中的下拉框内容是
String str=(String)request.getParameter("mysel");

<select name=mysel>
<option value="a" <% if (str.equals("a")){%> selected<%}%>>a
<option value="b" <% if (str.equals("b")){%> selected<%}%>>>b
<option value="c" <% if (str.equals("c")){%> selected<%}%>>>c
<option value="d" <% if (str.equals("d")){%> selected<%}%>>>d
</select>

同时可以将这些信息存入session中如:session.setAttribute("name",str);用response.sendRedirect("update.jsp")跳转到update.jsp页面,用session.getAttribute("name")得到session中的值进行下面的操作
  • 打赏
  • 举报
回复
gz
wangyanqiu 2003-08-19
  • 打赏
  • 举报
回复
function onloadScript(){
setdefault(document.f.test,document.f._test);
}

body onload="onloadScript()"

<input type="hidden" name="_test" value="{...}"/>
seabell 2003-08-19
  • 打赏
  • 举报
回复
<script>
function edit()
{
newwin=window.open("update.jsp","","");
newwin.document.write(document.all.mydiv.outerHTML);
}
</script>
<div id=mydiv>
<select name=mysel>
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
</select>
<input name=mytext>
</div>
<input type=button value=edit onclick=edit()>
xzylil 2003-08-19
  • 打赏
  • 举报
回复
可是现在实际要求做的是两个页面啊
加载更多回复(7)

81,091

社区成员

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

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