问题:
    下面的代码有两个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>

解决方案 »

  1.   

    给你个例子,你自己对着改。用到了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> 
      

  2.   

    大体思路:<input type="submit" value="提交"/> 
    这里使用 
    <input type="button" value="提交" onclick="return submitSelect();"/> 
    在js中增加submitSelect()方法,这个方法将
    var obj=document.getElementById("roleFunctions"); 
    这个obj对应的选项传给servlet。  
      

  3.   

    这个obj对应的选项传给Action