1. 程式人生 > >實現select multiple左右新增和刪除功能

實現select multiple左右新增和刪除功能

 專案要實現這樣的一個功能(如下圖所示):選擇左邊下拉列表框中的選項,點選新增按鈕,把選擇的選項移動到右邊的下拉列表框中,同樣的選擇右邊的選項,點選刪除按鈕,即把選擇的選項移動到左邊的下拉列表框中.相信用js很多朋友都寫過,下面是我用jQuery來實現這樣的功能的.具體程式碼如下:
[img]

[/img]

下拉列表
<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("請選擇要刪除的分包!");
                      }
           })
})