LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

左右两个Select列表框交换数据的JS

admin
2010年3月8日 0:33 本文热度 10833

左右两个select列表框交换数据的js代码,上下左右都可以移动数据,还可以置顶、沉底,相信大家见到过,但觉得挺实用,与大家分享。

<title>

    select列表框交换数据

</title>

<style>

center

 {

  

  color:red;

  font-weight:bold;

 }

 select

 {

  

  color:green;

 }

</style>

<span id="feedback"></span> 

<table border="0" width="400">

    <tbody>

        <tr class="firstRow">

            <td>

                <center>

                    可选择排序方式

                </center>

            </td>

            <td></td>

            <td>

                <center>

                    已选择排序方式

                </center>

            </td>

        </tr>

        <tr>

            <td width="40%">

                <select multiple="" name="left" id="left" size="8" style="width:200;" ondblclick="moveoption(document.getelementbyid(&#39;left&#39;), document.getelementbyid(&#39;right&#39;))"><option value="20">

                    asp

                </option>

                <option value="30">

                    php

                </option>

                <option value="40">

                    asp.net

                </option>

                <option value="50">

                    jsp

                </option>

                <option value="60">

                    vb

                </option>

                <option value="70">

                    delphi

                </option>

                <option value="80">

                    ajax

                </option>

                <option value="90">

                    jquery

                </option></select>

            </td>

            <td width="20%" align="center">

                <input type="button" value=" &gt;&gt; " onclick="moveoption(document.getelementbyid(&#39;left&#39;),document.getelementbyid(&#39;right&#39;))"/><br/><br/>

 &nbsp;<input type="button" value=" &lt;&lt; " onclick="moveoption(document.getelementbyid(&#39;right&#39;), document.getelementbyid(&#39;left&#39;))"/>

            </td>

            <td width="40%">

                <select multiple="" name="right" id="right" size="8" style="width:200;" ondblclick="moveoption(document.getelementbyid(&#39;right&#39;), document.getelementbyid(&#39;left&#39;))"></select>

            </td>

        </tr>

        <tr>

            <td colspan="3">

                <center>

                    <input type="button" value="置顶" onclick="movetop(document.getelementbyid(&#39;right&#39;));"/><input type="button" value="上移" onclick="moveup(document.getelementbyid(&#39;right&#39;));"/><input type="button" value="下移" onclick="movedown(document.getelementbyid(&#39;right&#39;));"/><input type="button" value="置底" onclick="movebottom(document.getelementbyid(&#39;right&#39;));"/>

                </center>

            </td>

        </tr>

    </tbody>

</table><script language="javascript">

​<!--

 //上移

  function moveup(obj)

  { 

      for(var i=1; i < obj.length; i++)

      {//最上面的一个不需要移动,所以直接从i=1开始

        if(obj.options[i].selected)

        {

          if(!obj.options.item(i-1).selected)

          {

            var seltext = obj.options[i].text;

            var selvalue = obj.options[i].value;

      obj.options[i].text = obj.options[i-1].text;

      obj.options[i].value = obj.options[i-1].value;

      obj.options[i].selected = false;

      obj.options[i-1].text = seltext;

      obj.options[i-1].value = selvalue;

      obj.options[i-1].selected=true;

          }

        }

      }

    }

  //下移

  function movedown(obj)

    {

      for(var i = obj.length -2 ; i >= 0; i--)

      {//向下移动,最后一个不需要处理,所以直接从倒数第二个开始

        if(obj.options[i].selected)

        {

          if(!obj.options[i+1].selected)

          {

            var seltext = obj.options[i].text;

            var selvalue = obj.options[i].value;

      obj.options[i].text = obj.options[i+1].text;

      obj.options[i].value = obj.options[i+1].value;

     obj.options[i].selected = false;

    obj.options[i+1].text = seltext;

    obj.options[i+1].value = selvalue;

   obj.options[i+1].selected=true;

          }

        }

      }

    }

  //移动

  function moveoption(obj1, obj2)

  {

    for(var i = obj1.options.length - 1 ; i >= 0 ; i--)

    {

     if(obj1.options[i].selected)

     {

     var opt = new option(obj1.options[i].text,obj1.options[i].value);

     opt.selected = true;

     obj2.options.add(opt);

     obj1.remove(i);

    }

    }

  }

  //置顶

   function  movetop(obj) 

   { 

   var  opts = []; 

   for(var i =obj.options.length -1 ; i >= 0; i--)

   {

    if(obj.options[i].selected)

    {

     opts.push(obj.options[i]);

     obj.remove(i);

    }

   }

   var index = 0 ;

   for(var t = opts.length-1 ; t>=0 ; t--)

   {

    var opt = new option(opts[t].text,opts[t].value);

    opt.selected = true;

    obj.options.add(opt, index++);

   }

  } 

   //置底

   function  movebottom(obj) 

   { 

   var  opts = []; 

   for(var i =obj.options.length -1 ; i >= 0; i--)

   {

    if(obj.options[i].selected)

    {

     opts.push(obj.options[i]);

     obj.remove(i);

    }

   }

    for(var t = opts.length-1 ; t>=0 ; t--)

   {

    var opt = new option(opts[t].text,opts[t].value);

    opt.selected = true;

    obj.options.add(opt);

   }

  } 

 //-->

</script>


该文章在 2026/4/13 19:03:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号