有两个LISTBOX控件,
第一个的内容已经给定,通过点击第一个LISTBOX1的课程,将它添加到第二个LISTBOX2当中,并且不允许选择重复的项。

解决方案 »

  1.   

    JS判断 listbox 好像有一个 只允许单选的属性  忘记了
    不行就JS
      

  2.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChooseRece.aspx.cs" Inherits="OA.MSG.ChooseRece" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>用户</title>    
        <link href="../images/Site_Css.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
      <div>           
                <table class="tab21">
                <TR>
                <TD style="WIDTH: 79px; height: 123px;">
                <asp:ListBox ID="lbMoveFrom" runat="server" CssClass="input"  Height="145px" SelectionMode="Multiple"
                Width="100px" >
            </asp:ListBox></TD>
                        <TD style="WIDTH: 77px; height: 123px;" align="center">
                        
                            <INPUT onclick="JavaScript:AddItem('lbMoveFrom','lbMoveTo')" tabIndex="8" class="button" type="button" 
                                    value="添加>>" name="Input" ><br /><br />
                            <INPUT onclick="JavaScript:DelItem('lbMoveTo','lbMoveFrom')" tabIndex="9" class="button" type="button"
                                    value="<<移出" name="Input2" ><br /><br />
                            <INPUT type="button" onclick="JavaScript:AddItemAll('lbMoveFrom','lbMoveTo')" 
                                    value="全添加>>" class="button">
                                                            
                        </TD>
                       <TD bgColor="#ffffff" style="height: 123px">
            <asp:ListBox ID="lbMoveTo" runat="server" CssClass="input" Height="145px" SelectionMode="Multiple"
                Width="99px" ></asp:ListBox></TD>
                   </TR>
                </table>
                </div>
            <br />
     <center style="border-top:double 3px #CCCCCC"><br /> 
     <input id="hidValue" type="hidden" />
      <input id="hidText" type="hidden" />
      <input id="btn" type="button" onclick="getValues()" value="选好了,确定" 
           class="button" />
            </center>
    <script language="javascript" type="text/javascript">
        function AddItem(lbFrom1,lbTo1)
        {
            lbFrom=document.form1.elements[lbFrom1];
            lbTo=document.form1.elements[lbTo1];
            var fromCount = lbFrom.options.length;
            if (fromCount==0)
            {
                alert("没有可供选择的数据");
                return;
            }
            for(var h=0;h<fromCount;h++)
            {
                if (lbFrom.options[h].selected )
                {
                    var selectValue = lbFrom.options[h].value;
                    var selectText = lbFrom.options[h].text;  
                    var toCount = lbTo.options.length;
                    var bool_ = false;
                    for (k=0; k<toCount; k++ ) 
                    {
                        if (lbTo.options[k].value == selectValue)
                        { 
                             bool_ = true;
                             break;
                        }
                    }
                    if ( bool_ == false)
                    {
                        lbTo.options[toCount] = new Option(selectText,selectValue);
                        DeletSingle(lbFrom,h);
                        break;
                    }
                }
            }
        }
        function DelItem(lbTo1,lbFrom1)
        {
            lbFrom=document.form1.elements[lbFrom1];
            lbTo=document.form1.elements[lbTo1];
            var minSelected=0; 
            for (var i=lbTo.length-1; i>=0; i--)
            { 
                if (lbTo.options[i].selected)
                {  
                    if (minSelected==0 || i<minSelected)
                    {    
                        minSelected=i;
                        AddItem(lbTo1,lbFrom1);
                        break;
                     }
                }
            }
            var i=lbFrom.length;
            if (i>0) 
            {
                minSelected=i-1;
                lbFrom.options[minSelected].selected=true;
            }
       }
        function AddItemAll(lbFrom1,lbTo1)
        {
            lbFrom=document.form1.elements[lbFrom1];
            lbTo=document.form1.elements[lbTo1];
            var fromCount = lbFrom.options.length;
            if (fromCount==0)
                return;
            for(var h=0;h<fromCount;h++)
            {
                var code = lbFrom.options[h].value;
                var value= lbFrom.options[h].text;  
                var toCount = lbTo.options.length;
                lbTo.options[toCount] = new Option(value, code);
            }
            //删除所有项
            for(var h=fromCount;h>=0;h--)
            {
                DeletSingle(lbFrom,h);
            }
        }
        //删除单个项
        function DeletSingle(obj,index)
        {    
            obj.options[index] = null;
        }
        //将选择的值放入隐藏控件
        function getValues()
        {
            lbTo=document.form1.elements["lbMoveTo"];
            var ObjHid = document.getElementById('hidValue');
            var ObjText = document.getElementById('hidText');
            ObjHid.value = "";
            ObjText.value="";
            var m = lbTo.options.length;
            if(m>0)
            {
                for(var i = 0 ; i < m ; i++)
                {
                    ObjHid.value += lbTo.options[i].value+",";
                    ObjText.value+= lbTo.options[i].text+",";
                    
                }
               // alert(ObjText.value+"  "+ObjHid.value);
                submitinfo(ObjText.value,ObjHid.value);
            }
            else
            {
                alert("请选择数据");
                return false;
            }           
        }
        function submitinfo(id,name){
           // alert(id+"  "+name);
            <%if(Request.QueryString["form"]!=""){%>
            //alert(id+"  "+name);
            window.opener.document.<%=Request.QueryString["form"]%>.<%=Request.QueryString["objCode"]%>.value=id;
            window.opener.document.<%=Request.QueryString["form"]%>.<%=Request.QueryString["objName"]%>.value=name;
            <%}%>
            window.close();
        }
    </script>
        </form>
    </body>
    </html>JS实现