用Javascript 实现的Dual listbox

javascript

这是我用 javascript 制作的“Dual listbox”(双向选择器)的一个应用示例,是从我的代码中抠出来的。在网页编程中经常会用到。
    也许我的实现太烦琐了,希望大家有更好的代码贡献出来。

  <html>
  <head>
  <title>选择器</title>
  <link href="./style/style.css" rel="stylesheet" type="text/css">
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <meta http-equiv="Page-Enter" content="blendTrans(Duration=1.0)">
  <meta http-equiv="Page-Exit" content="blendTrans(Duration=1.0)">
  <script language="javascript">
    function openwin(url, l, t, w ,h)
    {open(url,'','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+ w +',height='+ h +',left='+ l +',top='+ t);}

    function check_and_submit(frm)
    {
      SelectAll(frm.SelectedItem);
      frm.submit();
    }
  </script>
  </head>

  <body>

  <form name="frm1" id="frm1" method="post" action="save.asp">
  <input name="allowsubmit" type="hidden" value="OK">

  <table width="500" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr height=10><td colspan=3></td></tr>
  <tr>
    <td width="220" align=center valign="top">
      已分配该用户管理的栏目:<br><br>

       <select name="SelectedItem" id="SelectedItem" size=12 multiple="true">
        <option>无</option>

      </select>
      </select>
    </td>
    <td width="60" align=center>
      <br><br>
      <button ><</button><br><br>
      <button ><<</button><br><br><br><br>
      <button >></button><br><br>
      <button >>></button><br>
    </td>
    <td width="220" align=center valign="top">
      待分配的栏目:<br><br>
      <select name="WaitSelectItem" size=12 multiple=true>
        <option>师大要闻</option>
        <option>视频新闻</option>
        <option>图片新闻</option>
        <option>专题要闻</option>
        <option>十万个为什么</option>
        <option>代码测试</option>
        <option>www.why100000.com</option>
      </select>
    </td>
  </tr>
  </table>
  </form>

  <script language="javascript">
   function MoveSingleItem(sel_source, sel_dest)
   {
     if (sel_source.selectedIndex==-1)  file://源:没有点选任何项目
     return;

   if (sel_source.options[0].text=="无") file://源:只有“无”项目
     return;

   if (sel_dest.options[0].text=="无") file://目标:只有“无”项目,则先删除该提示性项目
     sel_dest.options.remove(0);

  var SelectedText = sel_source.options[sel_source.selectedIndex].text;
   sel_dest.options.add(new Option(SelectedText));
   sel_source.options.remove(sel_source.selectedIndex);

   if (sel_source.options.length==0)  file://源:如果删除完所有有用项目,则添加提示项目:“无”
     sel_source.options.add(new Option("无"));
   }

   function MoveAllItems(sel_source, sel_dest)
   {
     if (sel_source.options[0].text=="无") file://源:只有“无”项目
     return;

     if (sel_dest.options[0].text=="无")   file://目标:只有“无”项目,则先删除该提示性项目
     sel_dest.options.remove(0);

   file://首先拷贝所有项目到目标:
   var sel_source_len = sel_source.length;
   for (var j=0; j<sel_source_len; j++)
   {
     var SelectedText = sel_source.options[j].text;
     sel_dest.options.add(new Option(SelectedText));
   }

   file://然后删除“源”所有项目:
   while ((k=sel_source.length-1)>=0)
   {
     if (sel_source.options[0].text=="无") file://源:只有“无”项目
       break;
     sel_source.options.remove(k);
     if (sel_source.options.length==0)  file://源:如果删除完所有有用项目,则添加提示项目:“无”
       sel_source.options.add(new Option("无"));
   }
   }

   function SelectAll(theSel)  file://选中select中全部项目
   { for (i = 0 ;i<theSel.length;i++)
      theSel.options[i].selected = true;
   }
  </script>

时间: 2025-01-23 23:03:35

用Javascript 实现的Dual listbox的相关文章

用 Javascript 实现的“Dual listbox”(双向选择器)

javascript  这是我用 Javascript 制作的"Dual listbox"(双向选择器)的一个应用示例,是从我的代码中抠出来的.在网页编程中经常会用到.     也许我的实现太烦琐了,希望大家有更好的代码贡献出来. <html><head>  <title>选择器</title>  <link href="./style/style.css" rel="stylesheet"

使用javascript实现两个listbox中list的移动

javascript 效果图片: 说明:1.ListBox为服务器端控件,list可以在服务器端初始化2.Button可以为服务器端,也可以为客户端控件:    如果为服务器端控件,需要在页面初始化的时候为其添加事件处理为:    btn_updaddrel.Attributes.Add("OnClick","javascript:add();");     如果为客户端控件,则在声明控件的时候指定事件处理: <INPUT type="button&

JavaScript实现两个listbox的option数据转移

Html: <div><span>所选时间:</span><select id="xuanyongTimelb" style="width: 200px; height: 130px;" multiple="multiple"></select></div>                        <div class="label">&

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

 这篇文章主要介绍了JavaScript控制两个列表框listbox左右交换数据的方法,实例分析了javascript操作列表框listbox的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript控制两个列表框listbox左右交换数据的方法.分享给大家供大家参考.具体分析如下: 这个功能我们经常用到,将左边列表框的元素移动到右边,或者将右边列表框的元素移动到左边,可以一次性全部移动 代码如下: function listbox_moveacross(sour

JavaScript列表框listbox全选和反选的实现方法

 这篇文章主要介绍了JavaScript列表框listbox全选和反选的实现方法,涉及javascript操作列表框listbox的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript列表框listbox全选和反选的实现方法.分享给大家供大家参考.具体分析如下: 通过JS代码对列表框进行全选和反选是经常要操作的,非常具有实用价值. ? 1 2 3 4 5 6 function listboxSelectDeselect(listID, isSelect) {

JavaScript列表框listbox全选和反选的实现方法_javascript技巧

本文实例讲述了JavaScript列表框listbox全选和反选的实现方法.分享给大家供大家参考.具体分析如下: 通过JS代码对列表框进行全选和反选是经常要操作的,非常具有实用价值. function listboxSelectDeselect(listID, isSelect) { var listbox = document.getElementById(listID); for(var count=0; count < listbox.options.length; count++) {

轻松使用jQuery双向select控件Bootstrap Dual Listbox_jquery

本文主要为大家介绍了双向select控件Bootstrap Dual Listbox的使用方法,Bootstrap Dual列表是一个为响应Twitter优化的列表框插件,它可以用在所有的现代浏览器和触摸设备上,分享给大家,具体如下: 效果图: 一.使用 1.引用css和js文件 <link href="scripts/bootstrap-3.3.5-dist/css/bootstrap.min.css" rel="stylesheet" /> <

详解基于Bootstrap扁平化的后台框架Ace_javascript技巧

最近一段时间在做一个管理系统,在网上找了很久的前端展示框架,终于找到一款基于Bootstrap的后台管理系统模版:Ace.Bootstrap是Twitter 于2010年开发出来的前端框架,用过的同学应该知道,这款前端框架不仅界面很美观,而且兼容了很多的浏览器,大大加速了我们开发网站的速度!这篇文章讲到的Ace是基于Bootstrap的,所以界面自然也非常美观,这款后台管理系统组合了好多插件以及组件,可以满足很大一部分的后台管理系统模版.废话不多说,看下界面就知道了 如果想及时了解Spark.H

jquery ajax实现录入自动匹配数据程序

样式  代码如下 复制代码  <style type="text/css">  .listbox{   position:relative;   left:10px;   margin:10px;   width:200px;   background-color:#000;   color:#fff;   border:2px solid #000;  }  .namelist  {   margin:0px;   padding:0px;   list-style:no