当前位置:编程学习 > JAVA >>

关于select标签传多个值问题

<td align="right" width="30%">收件人:</td><td  align="left">
<select name="receiver">
<c:forEach var="list" items="${sessionScope.userlist}">
<option value="${list.nickname}">${list.nickname}</option>
</c:forEach>
</select>
</td>

   本人由于项目的需要显示页面时必须要用nickname昵称来显示,可是我的dao里查询用户信息时只有通过id查询,本人试了在select加一个隐藏option:<option value="${list.id}" style="display:none"></option>,可是这样,实际id不会被选中,
试问用什么方法能在选择nickname时也将相应的id传进action里,而且保证页面选择显示只有昵称一样,跪求高手解答!
--------------------编程问答-------------------- 为什么不用s标签呢?
<SELECT id="interest" name="interest"  style="width: 235px"> 
          <s:iterator value="list" id="i">
<option value="<s:property value='#i.id'/>"><s:property value="#i.name"/></option>
</s:iterator>
</SELECT> --------------------编程问答-------------------- <option value="表单提交的内容">显示的内容</option>
option的value属性是表单提交的数据,innerHTML是显示的内容,这两个可以不相同
也就是说你可以把value设为id,option标签里面的内容设为要显示的nickname
如:
<c:forEach var="list" items="${sessionScope.userlist}">
<option value="${list.id}">${list.nickname}</option>
</c:forEach>

--------------------编程问答-------------------- 确实是自己犯S了,这么简单的问题都想半天! --------------------编程问答--------------------
引用 2 楼  的回复:
<option value="表单提交的内容">显示的内容</option>
option的value属性是表单提交的数据,innerHTML是显示的内容,这两个可以不相同
也就是说你可以把value设为id,option标签里面的内容设为要显示的nickname
如:
<c:forEach var="list" items="${sessionScope.userlist}">
<op……

这个就可以啊,有什么疑问的!!!!!! --------------------编程问答-------------------- 楼主结帖给分 --------------------编程问答-------------------- 首先 你要知道 select标签选中之后 传递的值是option标签的 value,所以你写的
<option value="${list.nickname}">${list.nickname}</option>
传递的是${list.nickname},你要在action中去id,那就传递id啊 。
这样子~~<option value="${list.id}">${list.nickname}</option>
--------------------编程问答--------------------
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,