各位请帮帮忙,我在客户端有两个Select控件,我想在客户端操作将第一个Select控件所选定的项移至到第二个Select控件中,用javascript写,请问怎么写?最好提供代码,谢谢!!!

解决方案 »

  1.   

    <%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="XYPJ.WebForm3" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
    <title>WebForm3</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function AddUser()
    {
       for(var i=0;i<document.myConds.UserList.options.length;i++)
     {
    if(document.myConds.UserList.options(i).selected)
    {
    if(checkSameOption(document.myConds.UserList.options(i).value,objddl))
    {alert("你已经选择了"+document.myConds.UserList.options(i).text+"项!");return false;};
    var option=new Option(document.myConds.UserList.options(i).text,document.myConds.UserList.options(i).value);
    document.myConds.Incept.options.add(option);
    }
     }
    //selectAll(objddl);  
    }
    function checkSameOption(left,right)
    {
    var isSame=false;
    if(right.options.length<=0)
    isSame=false;
    else
    for(var i=0;i<right.options.length;i++)
    {
    if(left==right.options(i).value)
    {isSame=true;break;}
    }
    return isSame
    }function RemoveUser()
    {
    if(objddl.options.length<=0)
    {
    alert("还没有可删除的项!");return false;
    }
    if(document.myConds.Incept.selectedIndex<0||document.myConds.Incept.selectedIndex>(document.myConds.Incept.options.length-1))
    {
    alert("请从右边列表中选择你要删除的项!");return false;
    }
    if(document.myConds.Incept.options.length<=0)
    return false;
    for(var i=0;i<document.myConds.Incept.options.length;i++)
    {
    if(document.myConds.Incept.options(i).selected)
    {
    document.myConds.Incept.options(i)=null;//remove(i)也可以
    i--;
      
    }
    }
    return false;
    }
    function submitIt()
    {
    if(document.myConds.Incept.options.length<=0)
    {
    alert("请选择分组条件!");
    return false;
    }
    else
    {
    selectAll();
    return true;
    }
    }
    function selectAll()
    {
     if(document.myConds.Incept.options.length>0)
     {
     for(var i=0;i<document.myConds.Incept.options.length;i++)
        document.myConds.Incept.options(i).selected=true;
     }
     return;
    } </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="myConds" onsubmit="return submitIt()" method="post" action="WebForm4.aspx">
    <table width="100%" cellpadding="2" cellspacing="0">
    <tr>
    <td width="40%" align="center">
    <select id="UserList" style="WIDTH: 300px" multiple size="10" name="UserList" runat="server">
    <option value="1" runat="server">1</option>
    <option value="2" runat="server">2</option>
    <option value="3" runat="server">3</option>
    <option value="4" runat="server">4</option>
    <option value="5" runat="server">5</option>
    <option value="6" runat="server">6</option>
    </select>
    </td>
    <td width="20%">
    <input type="button" id="UserAdd" value="添加用户" onclick="AddUser()"><br>
    <br>
    <input type="button" id="UserRemove" value="移除用户" onclick="RemoveUser()">
    </td>
    <td width="40%" align="center">
    <select id="Incept" style="WIDTH: 300px" multiple size="10" name="Incept" runat="server">
    </select>
    </td>
    <td width="40%" align="center">
    <input id="Button1" type="submit" value="提交结果"></td>
    </tr>
    </table>
    </form>
    </body>
    </HTML>
      

  2.   

    楼主是不是要的是HTML中,两个select互动操作的代码。
      

  3.   

    我刚才又改了一下,如下
    应该没错了
    <%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="XYPJ.zuz.WebForm3" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
    <title>WebForm3</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function AddUser()
    {
       var objddl = document.getElementById("Incept");
       var objTxt = document.getElementById("UserList");
       for(var i=0;i<objTxt.options.length;i++)
     {
    if(objTxt.options[i].selected)
    {
    if(checkSameOption(objTxt.options[i].value,objddl))
    {alert("你已经选择了"+objTxt.options[i].text+"项!");return false;};
    var option=new Option(objTxt.options[i].text,objTxt.options[i].value);
    objddl.options.add(option);
    }
     }
    //selectAll(objddl);  
    }
    function checkSameOption(left,right)
    {
    var isSame=false;
    if(right.options.length<=0)
    isSame=false;
    else
    for(var i=0;i<right.options.length;i++)
    {
    if(left==right.options[i].value)
    {isSame=true;break;}
    }
    return isSame
    }function RemoveUser()
    {
        var objddl = document.getElementById("Incept");
        var objTxt = document.getElementById("UserList");
    if(objddl.options.length<=0)
    {
    alert("还没有可删除的项!");return false;
    }
    if(objddl.selectedIndex<0||objddl.selectedIndex>(objddl.options.length-1))
    {
    alert("请从右边列表中选择你要删除的项!");return false;
    }
    if(objddl.options.length<=0)
    return false;
    for(var i=0;i<objddl.options.length;i++)
    {
    if(objddl.options[i].selected)
    {
    objddl.options[i]=null;//remove(i)也可以
    i--;
      
    }
    }
    return false;
    }
    function submitIt()
    {
    if(document.Form1.Incept.options.length<=0)
    {
    alert("请选择分组条件!");
    return false;
    }
    else
    {
    selectAll();
    return true;
    }
    }
    function selectAll()
    {
     if(document.Form1.Incept.options.length>0)
     {
     var aa="";
     for(var i=0;i<document.Form1.Incept.options.length;i++)
    {
    document.Form1.Incept.options[i].selected=true;

    aa=aa+","+document.Form1.Incept.options[i].value;
    //document.write(document.Form1.Incept.options[i].value);
    }
     }
     //document.write(aa);
     document.Form1.yy.value=aa;
    // document.write(document.Form1.yy.value);
     //document.write(document.Form1.Incept.options.length)
     return;
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="myConds" onsubmit="return submitIt()" method="post" action="WebForm4.aspx">
    <table width="100%" cellpadding="2" cellspacing="0">
    <tr>
    <td width="40%" align="center">
    <select id="UserList" style="WIDTH: 300px" multiple size="10" name="UserList" runat="server">
    <option value="1" runat="server" ID="Option1">1</option>
    <option value="2" runat="server" ID="Option2">2</option>
    <option value="3" runat="server" ID="Option3">3</option>
    <option value="4" runat="server" ID="Option4">4</option>
    <option value="5" runat="server" ID="Option5">5</option>
    <option value="6" runat="server" ID="Option6">6</option>
    </select>
    </td>
    <td width="20%">
    <input type="button" id="UserAdd" value="添加用户" onclick="AddUser()"><br>
    <br>
    <input type="button" id="UserRemove" value="移除用户" onclick="RemoveUser()">
    </td>
    <td width="40%" align="center">
    <select id="Incept" style="WIDTH: 300px" multiple size="10" name="Incept" runat="server">
    </select>
    </td>
    <td width="40%" align="center">
    <input id="Button1" type="submit" value="提交结果"></td>
    </tr>
    </table>
    </form>
    </body>
    </HTML>