日期:2014-05-18  浏览次数:20909 次

如何将一个select中的数据添加到另一个select中?
在java中,当有两个select,都是多选的,如何将一个select中选中的项添加到另一个select中???

------解决方案--------------------
是jsp页面中??如果是的话可以使用javascript实现:
<script language="JavaScript">
function moveOption(e1, e2){
try{
for(var i=0;i<e1.options.length;i++){
if(e1.options[i].selected){
var e = e1.options[i];
e2.options.add(new Option(e.text, e.value));
e1.remove(i);
i=i-1;
}
}

}
catch(e){}
}
</script>
e1和e2分别代表两个多选下拉列表(select)
------解决方案--------------------
HTML code

<html>
<script language="JavaScript"> 
var test1 = document.getElementsByName("test1");
var test2 = document.getElementsByName("test2");

//向select选项中 加入一个item
function jsadditemtoselect(objselect,objitemtext,objitemvalue)
{

       var varitem = new Option(objitemtext,objitemvalue);
//  objselect.options[objselect.options.length] = varitem;
      objselect.options.add(varitem);
       alert("成功加入");
     
}

//从select选项中 删除一个item
function jsremoveitemfromselect(objselect,objitemvalue)
{

       for(var i=0;i<objselect.options.length;i++)
       {
           if(objselect.options[i].value == objitemvalue)
           {
             objselect.options.remove(i);
             break;
           }
       }  
       alert("成功删除");      
  
}

function addOption()
{
      for(var i=0;i<test2[0].options.length;i++)
      {
        if(test2[0].options[i].selected)
        {
            var temp = test2[0].options[i].value;
          jsadditemtoselect(test1[0],temp,temp);
          jsremoveitemfromselect(test2[0],temp);
        }    
      }
}

</script>
<body>
<select name="test1" style="width: 100px;">
    
    <option value="1">1</option>
    <option value="1">2</option>
    <option value="1">3</option>
    <option value="1">4</option>
</select>
<select name="test2" style="width: 100px;" 100px; onchange="addOption()">
    
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
</select>
</body>

</html>