`

select multiple左右添加和删除功能

    博客分类:
  • js
阅读更多
下拉列表
<table width="95%" cellpadding="0" align="center" class="listshow" border="1" cellspacing="0">
<tr>
     <td colspan="4" align="center">选择分包</td>
    </tr>
<tr>
  <td class="black" width="30%" align="center" height="150">
              <select id="fb_list" multiple="multiple"  style="text-align:center;width:300px;height:150px;">
             
               </select> 
        </td>
        <td align="center" width="5%">
         <input type="button" id="add" value="添加>>" />
            <br/>
            <br/>
            <input type="button" id="delete" value="<<删除" />
        </td>
        <td class="black" width="30%" align="center">
         <select id="select_list" multiple="multiple" style=" text-align:center;width:300px;height:150px;">
                     
            </select>
        </td>
</tr>
</table>

jQuery代码:
/**
  *动态的给左边的下拉列表创建选项
  *具体情况可以从数据库读取数据动态创建选项
  */
$(document).ready(function(){
        for(var i=1;i<=5;i++)
        {
               $("#fb_list").append("<option value='"+i+"'>公开招标小型机采购00"+i+"</option>"); 
        }
})

$(function(){
     $("#add").click(function(){
              if($("#fb_list option:selected").length>0)
              {
                       $("#fb_list option:selected").each(function(){
                            $("#select_list").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");
                            $(this).remove(); 
                       })
              }
              else
              {
                       alert("请选择要添加的分包!");
              }
       })
})


$(function(){
             $("#delete").click(function(){
                      if($("#select_list option:selected").length>0)
                      {
                               $("#select_list option:selected").each(function(){
                                          $("#fb_list").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");
                                           $(this).remove(); 
                               })
                      }
                      else
                      {
                               alert("请选择要删除的分包!");
                      }
           })
})



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> Select Demo </TITLE> 
<META NAME="Generator" CONTENT="EditPlus"> 
<META NAME="Author" CONTENT=""> 
<META NAME="Keywords" CONTENT=""> 
<META NAME="Description" CONTENT=""> 
</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">测试数据一</option> 
       <option value="30">测试数据二</option> 
       <option value="40">测试数据三</option> 
       <option value="50">测试数据四</option> 
       <option value="60">测试数据五</option> 
       <option value="70">测试数据六</option>    
       <option value="80">测试数据七</option> 
       <option value="90">测试数据八</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> 
分享到:
评论

相关推荐

    重构《实现select multiple左右添加和删除功能》

    在这个特定的案例中,“重构《实现select multiple左右添加和删除功能》”是一个关于如何优化多选下拉框(select multiple)操作的实践。该博文的作者通过提供一个名为`multipleSelect.html`的示例文件,展示了如何...

    Jquery实现select multiple左右添加和删除功能的简单实例

    项目要实现这样的一个功能(如下图所示):选择左边下拉列表框中的选项,点击添加按钮,把选择的选项移动到右边的下拉列表框中,同样的选择右边的选项,点击删除按钮,即把选择的选项移动到左边的下拉列表框中.相信用js很多...

    layui多选下拉框样式,整套layui-select-multiple

    "layui-select-multiple"就是Layui专门为多选下拉框设计的一整套样式和功能。 首先,我们来看“layui多选下拉框样式”这一知识点。Layui的多选下拉框在视觉上非常整洁,其设计遵循了扁平化和简洁化的理念,与现代...

    两个多选select(multiple左右)添加、删除选项和取值实例

    它利用了`select`元素的`multiple`属性、`input`元素的`hidden`类型,以及jQuery的事件监听和DOM操作功能,提供了一个直观且实用的用户界面交互。这对于任何需要在网页上处理多选列表的开发者来说,都是一个值得参考...

    解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题

    通过watch监听器来监控el-select绑定的值,当用户尝试删除一个不允许删除的选项时,通过监听函数将之前删除的选项重新添加到选中值中。虽然这种方法能够实现功能,但在界面上会存在误导用户的情况,因为在不允许...

    Select Multiple Values from Combobox Using JavaScript.zip

    在网页中,这种功能通常通过HTML的`&lt;select&gt;`元素配合`multiple`属性来实现,然后用JavaScript进行操作和控制。 首先,HTML的`&lt;select&gt;`标签用于创建下拉列表,添加`multiple`属性则允许用户选择多个选项。例如: ...

    HTML Select 下拉菜单功能扩展

    4. **动态加载**:利用JavaScript,可以在用户交互时动态添加或删除选项,提高用户体验。 ```javascript var select = document.getElementById('mySelect'); var option = document.createElement('option'); ...

    Element-ui中 选择器(select)多选下拉框实现全选功能.zip

    在实际应用中,全选功能常用于批量操作,如用户一次性勾选多个选项进行批量删除、导出等操作。 首先,我们需要了解`&lt;el-select&gt;`的基本用法。在Element-UI中,`&lt;el-select&gt;`组件用于创建一个下拉选择框,通过`...

    js之Select用法

    在`select`标签中添加`multiple`属性,可以创建一个允许多选的下拉菜单。此时,`selectedIndex`会返回一个数组,`value`则会返回一个包含所有选中值的数组。 6. **禁用或启用`select`元素** 使用`disabled`属性...

    多选select组件 涉及的所有常用操作

    综上所述,多选select组件涉及的操作包括选择与取消选择、获取已选值、添加与删除选项、事件监听、样式控制、禁用与启用、优化与性能、无障碍访问以及使用自定义组件等。`mulSelectOperator.js`文件很可能是对这些...

    下拉框多选select多选

    在网页设计和开发中,"下拉框多选select多选"是一个常见的功能,它允许用户在下拉菜单中选择多个选项,而不仅仅是一个。在HTML中,`&lt;select&gt;`元素通常用于创建这样的下拉菜单,但默认情况下,`&lt;select&gt;`只支持单选。...

    Js操作Select大全(取值、设置选中等等)

    通过上述详细介绍,我们可以看到利用JavaScript和jQuery操作`&lt;select&gt;`元素十分灵活且功能强大。这些技术不仅适用于简单的表单处理,还能够支持复杂的动态数据绑定和用户交互设计。希望本篇文档能帮助您更好地理解和...

    jQuery bootstrap-select下拉多选和搜索

    - `selectpicker('refresh')`: 刷新下拉框,通常在动态添加或删除选项后调用。 - `selectpicker('val')`: 获取或设置当前选中的值。 - `selectpicker('toggle')`: 打开或关闭下拉框。 - `selectpicker('destroy')`: ...

    自己整理的bootstrap_select

    Bootstrap Select 的核心功能和知识点主要包括: 1. **样式美化**:Bootstrap Select 使用 Bootstrap 的样式来美化下拉列表,使其与整个 Bootstrap 主题保持一致,提供了一致且美观的用户体验。 2. **多选支持**:...

    multiple-select-hook:使用Set和Typescript钩住多个选择项

    React Multiple Select Gallery(Hook:hook:) 多张选择的照片(或其他任何照片)会对带有打字稿的钩子示例产生React。 跑 安装依赖项并: &gt; yarn start 用法 const { addItem , getSize , getItems } = ...

    jquery 超级select插件 v4.0版本

    这时,jQuery超级Select插件应运而生,它为开发者提供了强大的功能和自定义选项,让Select元素变得更具可扩展性和用户体验。本文将深入探讨jQuery超级Select插件的v4.0版本。 一、jQuery超级Select插件概述 jQuery...

    bootstrap select demo

    3. **动态更新**:如果在运行时添加或删除选项,需要调用 `refresh` 方法来更新 Select:`$('select').selectpicker('refresh')`. 4. **响应式设计**:考虑移动设备,可能需要调整某些样式或配置,以适应不同的屏幕...

    Jquery实现的双Select框多选表单提交

    在本文中,我们将深入探讨如何使用jQuery库来实现一个功能丰富的双Select框多选表单,以便用户可以方便地在两个下拉列表之间选择和移动选项,并在提交表单时发送选定的数据。jQuery是一个强大的JavaScript库,它简化...

Global site tag (gtag.js) - Google Analytics