`

转JS实现2个Select列表框互相交换数据的实例

 
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JS实现2个Select列表框互相交换数据的实例_网页代码站</TITLE>
</HEAD>
<style>
center
{
font-size:12px;
color:red;
font-weight:bold;
}
select
{
font-size:12px;
color:green;
}
</style>
<BODY>
<span id='feedback'></span>
<form method="post" name="myform">
  <table border="0" width="400">
<tr>
  <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('left'), document.getElementById('right'))">
   <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=" >> " onclick="moveOption(document.getElementById('left'),document.getElementById('right'))"><br><br>
  <input type="button" value=" << " onclick="moveOption(document.getElementById('right'), document.getElementById('left'))">
   </td>
      <td width="40%">
  <select  multiple name="right" id="right" size="8" style='width:200;'
  ondblclick="moveOption(document.getElementById('right'), document.getElementById('left'))">
  </select>
   </td>
    </tr>
<tr>
  <td colspan="3">
  <CENTER>
  <INPUT TYPE="button" value="置顶" onclick="moveTop(document.getElementById('right'));">
  <INPUT TYPE="button" value="上移" onclick="moveUp(document.getElementById('right'));">
  <INPUT TYPE="button" value="下移" onclick="moveDown(document.getElementById('right'));">
  <INPUT TYPE="button" value="置底" onclick="moveBottom(document.getElementById('right'));">
  </CENTER></td>
</tr>
  </table>


</BODY>
</HTML>
<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>
<br />
<p><a href="http://www.6a8a.com">网页代码站</a> - 最专业的网页代码下载网站 - 致力为中国站长提供有质量的网页代码!</p>
分享到:
评论

相关推荐

    JavaScript控制两个列表框listbox左右交换数据的方法

    在网页开发中,经常需要实现两个列表框(listbox)之间的数据交换功能,即从一个列表框中选择某些项并移动到另一个列表框中。本文将详细介绍如何使用JavaScript来实现这一功能,并通过实例来具体分析操作列表框的...

    AJAX实现的动态下拉列表框例子

    在网页开发中,动态下拉列表框是一种常见的交互元素,它可以提供实时的用户反馈,无需刷新整个页面。AJAX(Asynchronous JavaScript and XML)技术是实现这种功能的关键,它允许前端与服务器进行异步通信,获取数据...

    省市区下拉列表框显示出来,包含数据库

    这个场景通常涉及到前端交互和后端数据处理,标题和描述所提及的“省市区下拉列表框显示出来,包含数据库”正是这种功能的一个实例。这个功能的实现通常分为以下几个关键知识点: 1. **前端技术**:前端负责展示...

    ajax动态加载列表框

    Ajax动态加载列表框,简单来说,就是利用Ajax技术来实现在用户交互时动态更新下拉选择框(Select Box)中的选项,而无需整个页面刷新。这种联动效果常见于多级联动选择、根据前一选择过滤后一选择等场景,极大地提高...

    程序天下:JavaScript实例自学手册

    6.2 实现两个select的同步 6.3 被选中的列表项下次不能再选 6.4 不带滚动条的select 6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE...

    A_jquery+select框图片选择器点击图片给表单select框赋值分享源码学习a

    标题中的"A_jquery+select框图片选择器点击图片给表单select框赋值分享源码学习a",指的是一个基于jQuery实现的交互式功能,它将图片选择与HTML的`&lt;select&gt;`下拉框相结合。这个功能允许用户通过点击图片来改变`...

    《程序天下:JavaScript实例自学手册》光盘源码

    6.2 实现两个select的同步 6.3 被选中的列表项下次不能再选 6.4 不带滚动条的select 6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE...

    jquery怎样实现ajax联动框(二)

    在这个实例中,我们介绍如何使用jQuery来实现一种联动框的交互效果。联动框,也称为级联下拉框,是一种常见的Web界面元素,允许用户通过选择某个值(如国家或地区)来动态改变另一个选择列表的内容(如城市或地区)...

    AJAX DWR实例

    4. **接收并处理响应**:在JavaScript回调函数中,接收服务器返回的数据,更新第二个列表框。 ### 6. 示例代码 以下是一个简单的示例,展示如何使用DWR动态填充列表框: ```java // 服务端Java方法 public class ...

    servlet+ajax做的两个下拉列表联动

    使用XMLHttpRequest对象或者现代浏览器中的fetch API,JavaScript可以监听下拉列表的改变事件,触发Ajax请求,并在接收到Servlet返回的数据后,动态地更新第二个下拉列表的选项。 实现这个功能的具体步骤包括: 1....

    ext 与数据库交互实例

    在EXTJS中,与数据库进行交互是通过Ajax技术实现的,它允许前端应用程序与后端服务器进行异步数据交换。在本实例中,我们将探讨EXTJS如何与数据库进行交互,以Combobox为例,结合PHP作为后端服务器。 1. **EXTJS ...

    jQuery+ajax实现三级级联

    在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...

    ajax 异步实现两级联动下拉列表和输入提示

    本示例通过AJAX技术实现了这种功能,并结合了简单的JS和CSS设计,为用户提供实时更新的数据展示。以下是对这个项目的详细解析: 首先,我们要理解AJAX(Asynchronous JavaScript and XML)的核心概念。它允许我们在...

    Ajax+Jsp系列之二[selectCity]

    在"Ajax+Jsp系列之二[selectCity]"中,我们将深入探讨以下几个关键知识点: 1. **Ajax**:Ajax的核心是通过JavaScript在后台与服务器进行异步数据交换,无需刷新整个页面,提升了用户体验。它包括XMLHttpRequest...

    jquery文本框自动补全ajax autocomplete 完整实例

    2. **Ajax(Asynchronous JavaScript and XML)**: 是一种创建动态网页的技术,允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。 3. **文本框(Text Input)**: HTML中的`...

    js效果页面实例及说明文档包html版

    列表框移动转移 2.select内容过滤 3.下拉框关联 3.导航类 1.TabPage 2.TabPageSimple版 3.coolJs菜单 4.tigra菜单demo1 5.tigra菜单demo2 4.表格类 1.变色表格 2.设置...

    AJAX 自动完成 支持多选的下拉列表 比JQuery.autocomplete 更好!(有实例)

    AJAX(Asynchronous JavaScript and XML)技术的出现极大地提升了网页的动态性,使得页面无需刷新就能与服务器进行数据交换。本文将深入探讨如何利用AJAX实现一个支持多选功能的自动完成下拉列表,该列表具有类似于...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    Ajax级联操作通常涉及多个下拉列表,当用户在第一个列表中选择一项时,通过Ajax请求获取与之相关的第二级列表数据,更新第二个列表。在这个案例中,"cityJson"可能是城市数据的JSON文件,包含各个城市的ID和名称。当...

    ajax的实例

    总结,这个Ajax实例展示了如何通过JavaScript与服务器异步交互,获取和处理JSON数据,以及动态更新HTML页面内容,实现省份和城市选择的功能。通过理解这个实例,你可以更好地掌握Ajax在实际项目中的应用。

    HTML网络编程实例

    9. HTML与JavaScript交互:HTML页面可以通过JavaScript进行动态更新,例如使用`document.getElementById()`获取元素,`addEventListener()`添加事件监听器,以及AJAX进行异步数据交换。 10. 实例分析:通过具体的...

Global site tag (gtag.js) - Google Analytics