现在的位置: 首页 > 综合 > 正文

js 实现 将一个 ListBox 的项添加到另一个ListBox

2012年02月12日 ⁄ 综合 ⁄ 共 3373字 ⁄ 字号 评论关闭
这种方式处理后,服务器端得不到ListBox的数据,可放一个隐藏控件,将ListBox的值放在里面,服务器端取隐藏控件的值。

  1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="test.WEB_APP.WebForm4" %>
  2
  3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4
  5<html xmlns="http://www.w3.org/1999/xhtml" >
  6<head runat="server">
  7    <title>无标题页</title>
  8    <script language="javascript" type="text/javascript">
  9    var ObjFrom,ObjTo;
 10    function intial(objFrom,objTo)
 11    {
 12        ObjFrom = rtObject(objFrom);
 13        ObjTo = rtObject(objTo);
 14    }

 15    //返回ListBox对象
 16    function rtObject(obj)
 17    {
 18       return document.form1.elements[obj];
 19    }

 20    function AddItem(lbFrom,lbTo)
 21    {
 22        intial(lbFrom,lbTo);
 23        var fromCount = ObjFrom.options.length;
 24        if (fromCount==0)
 25        {
 26            alert("没有可供选择的数据");
 27            return;
 28        }

 29        for(var h=0;h<fromCount;h++)
 30        {
 31            if (ObjFrom.options[h].selected )
 32            {
 33                var selectValue = ObjFrom.options[h].value;
 34                var selectText = ObjFrom.options[h].text;  
 35                var toCount = ObjTo.options.length;
 36                var bool_ = false;
 37                for (k=0; k<toCount; k++ ) 
 38                {
 39                    if (ObjTo.options[k].value == selectValue)
 40                    
 41                         bool_ = true;
 42                         break;
 43                    }

 44                }

 45                if ( bool_ == false)
 46                {
 47                    ObjTo.options[toCount] = new Option(selectValue, selectText);
 48                    DeletSingle(ObjFrom,h);
 49                    break;
 50                }

 51            }

 52        }

 53    }

 54    function DelItem(lbTo,lbFrom)
 55    {
 56        intial(lbTo,lbFrom); 
 57        var minSelected=0
 58        for (var i=ObjFrom.length-1; i>=0; i--)
 59        
 60            if (ObjFrom.options[i].selected)
 61            {  
 62                if (minSelected==0 || i<minSelected)
 63                {    
 64                    minSelected=i;
 65                    AddItem(lbTo,lbFrom);
 66                    break;
 67                 }

 68            }

 69        }

 70        var i=ObjFrom.length;
 71        if (i>0
 72        {
 73            minSelected=i-1;
 74            ObjFrom.options[minSelected].selected=true;
 75        }

 76   }

 77    function AddItemAll(lbFrom,lbTo)
 78    {
 79        intial(lbFrom,lbTo);
 80        var fromCount = ObjFrom.options.length;
 81        if (fromCount==0)
 82            return;
 83        for(var h=0;h<fromCount;h++)
 84        {
 85            var code = ObjFrom.options[h].value;
 86            var value = ObjFrom.options[h].text;  
 87            var toCount = ObjTo.options.length;
 88            ObjTo.options[toCount] = new Option(value, code);
 89        }

 90        //删除所有项
 91        for(var h=fromCount;h>=0;h--)
 92        {
 93            DeletSingle(ObjFrom,h);
 94        }

 95    }

 96    //删除单个项
 97    function DeletSingle(obj,index)
 98    {    
 99        obj.options[index] = null;
100    }

101    //将选择的值放入隐藏控件
102    function getValues()
103    {
104        var ObjHid = document.getElementById('hidValue');
105        ObjHid.value = "";
106        var m = ObjTo.options.length;
107        

抱歉!评论已关闭.