struts2传递参数问题

parckle 2009-07-20 04:59:55
问题:
下面的代码有两个select ,我是想把左边的(第一个)select里面的选项(从数据库里得到)有选择地移到右边,我用了JavaScript 来实现这个功能,但在这里卡住了,我要把第二个select 得到的选项(也就是通过左边移过来而新增的option的value)传到Struts2的Action里面,在这里,我就不会传了,请各位指教一下。

代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'roleFunctionAssignment.jsp' starting page</title>
</head>
<body>
<script type="text/javascript">
var req;
function addFunction(obj){
//alert("addFunction");
var obj1=document.getElementById("allFunctions");
var index=obj1.selectedIndex;
var value= obj1.options[index].value;
var text=obj1.options[index].text;
var obj2=document.getElementById("roleFunctions");
obj2.add(new Option(text,value));
}
function delFunction(){
alert("delFunction");
var obj=document.getElementById("roleFunctions");
var index=obj.selectedIndex;
obj.options.remove(index);
}

</script>
<form action="addRoleAction.action" method="post">
<div class="content">
<div class="layerRoleName">
角色名称 : <input type="text" name="role.roleName"/>
</div>
<div class="layerRoleDescripe">
角色描述 : <textarea rows="10" cols="30"></textarea>
</div>
<div class="layerFunctionAssignment">
<div class="layerAllFunctions">
<s:select id="allFunctions" size="10" list="basefunctionList" listValue="functionName">
</s:select>
</div>
<div class="layerAssignment">
<label onclick="addFunction()">添加到右边</label><br><br>
<label onclick="delFunction()">移出右框</label>
</div>
<div class="layerRoleFunctions">
<select id="roleFunctions" size="10">
</select>
</div>
</div>
<div class="layerSubmit">
<input type="submit" value="提交"/>
</div>
</div>
</form>
</body>
</html>
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
parckle 2009-07-20
  • 打赏
  • 举报
回复
解决了,用Ajax
wqccj 2009-07-20
  • 打赏
  • 举报
回复
学习了..
raito33 2009-07-20
  • 打赏
  • 举报
回复
关注
yztommyhc 2009-07-20
  • 打赏
  • 举报
回复
这个obj对应的选项传给Action
yztommyhc 2009-07-20
  • 打赏
  • 举报
回复
大体思路:

<input type="submit" value="提交"/>
这里使用
<input type="button" value="提交" onclick="return submitSelect();"/>
在js中增加submitSelect()方法,这个方法将
var obj=document.getElementById("roleFunctions");
这个obj对应的选项传给servlet。
huangqingjie2010 2009-07-20
  • 打赏
  • 举报
回复
up
parckle 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kx00450 的回复:]
给你个例子,你自己对着改。用到了JQUERY。可以自己去下。

HTML code<scripttype="text/javascript">var req;function addFunction(obj){//alert("addFunction");var obj1=document.getElementById("allFunctions");var index=obj1.selectedIndex;var value= obj1.options[index].value;var text=obj1.options[index].text;var obj2=document.getElementById("roleFunctions");
obj2.add(new Option(text,value));
}function delFunction(){
alert("delFunction");var obj=document.getElementById("roleFunctions");var index=obj.selectedIndex;
obj.options.remove(index);
}</script>
[/Quote]

没有给出例子吧,上面都是我的啊,麻烦再提示一下。谢谢
kx00450 2009-07-20
  • 打赏
  • 举报
回复
给你个例子,你自己对着改。用到了JQUERY。可以自己去下。


<script type="text/javascript">
var req;
function addFunction(obj){
//alert("addFunction");
var obj1=document.getElementById("allFunctions");
var index=obj1.selectedIndex;
var value= obj1.options[index].value;
var text=obj1.options[index].text;
var obj2=document.getElementById("roleFunctions");
obj2.add(new Option(text,value));
}
function delFunction(){
alert("delFunction");
var obj=document.getElementById("roleFunctions");
var index=obj.selectedIndex;
obj.options.remove(index);
}

</script>


81,092

社区成员

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

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