当前位置: 代码迷 >> Web前端 >> jQuery学习: 兑现select multiple左右添加和删除功能
  详细解决方案

jQuery学习: 兑现select multiple左右添加和删除功能

热度:731   发布时间:2012-10-25 10:58:57.0
jQuery学习: 实现select multiple左右添加和删除功能

项目要实现这样 的一个功能(如下图所示):选择左边下拉列表框中的选项,点击添加按钮,把选择的选项移动到右边的下拉列表框中,同样的选择右边的选项,点击删除按钮,即 把选择的选项移动到左边的下拉列表框中.相信用js很多朋友都写过,下面是我用jQuery来实现这样的功能的.具体代码如下:

  下拉列表

<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("请选择要删除的分包!");
           }
     })
})

  相关解决方案