javascript實現組合列表框中元素移動效果

来源:http://www.cnblogs.com/shouce/archive/2016/03/01/5229613.html
-Advertisement-
Play Games

應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。 實現的基本思想: (1)編寫init方法對兩個列表框進行初始化; (2)為body添加onload事件調用init方法; (3)編寫move(s1,s2)把s1中選中的選項移到s2; (4)編寫moveAll(s1,s


應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。
   實現的基本思想:

  (1)編寫init方法對兩個列表框進行初始化;

  (2)為body添加onload事件調用init方法;

  (3)編寫move(s1,s2)把s1中選中的選項移到s2;

  (4)編寫moveAll(s1,s2)把s1中所有的選項都移到s2.

  (5)為按鈕添加onclick事件。

 

javascript代碼如下:

複製代碼
 1 <script type="text/javascript" language="javascript">
 2     //對下拉框信息進行初始化
 3     function init() {
 4         for (i = 0; i < 10; i++) {
 5             var y = document.createElement("option");//增加一個元素option
 6             y.text = '選項' + i;
 7             var x=document.getElementById("s1");//根據ID找到列表框
 8 
 9             x.add(y, null); //
10 
11         }
12 
13     }
14 
15     //把選中的選項移到另一邊
16     function move(s1, s2) {
17         var index = s1.selectedIndex;
18         if (index == -1) {
19             alert("沒有選中值");
20             return;
21         }
22 
23         s2.length++;
24         s2.options[s2.length - 1].value = s1.options[index].value;
25         s2.options[s2.length - 1].text = s1.options[index].text;//s1中當前選中的值賦給s2的最後一個元素
26         s1.remove(index);//從s1中移除當前元素
27     }
28 
29     //把一邊的完全移到另一邊
30     function moveAll(s1, s2) {
31         if (s1.length == 0) {
32             alert("沒有可用選擇");
33             return;
34         }
35         s2.length = s2.length + s1.length;
36         for (var i = 0; i < s1.length; i++) {
37             s2.options[s2.length - s1.length + i].value = s1.options[i].value;
38             s2.options[s2.length - s1.length + i].text = s1.options[i].text;
39         }
40 
41         s1.length = 0;
42     }
43 </script>
複製代碼


<body>代碼:

複製代碼
 1 <body onload="init()">
 2     <table>
 3         <tr>
 4             <td><select id="s1" size=10 style="width:100"></select></td>
 5 
 6             <td><input type="button" name="moveToRight" value=">"
 7                 onClick="move(s1,s2)"> <br>
 8             <br> <input type="button" name="moveAllToRight" value=">>"
 9                 onClick="moveAll(s1,s2)"> <br> <input type="button"
10                 name="moveToLeft" value="<" onClick="move(s2,s1)"> <br>
11             <br> <input type="button" name="moveAllToLeft" value="<<"
12                 onClick="moveAll(s2,s1)"></td>
13             <td><select id="s2" name="s2" size=10 style="width:100"></select></td>
14 
15         </tr>
16     </table>
17 
18 </body>
複製代碼
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、標題 標題的h1到h6標簽,這裡不再贅述。值得一提的是,H5中新定義了一個元素<hgroup>,用來將標題和副標題群組。一般在header里將一組標題組合在一起,變成一個區塊: 1 <body> 2 <header> 3 <hgroup> 4 <h1> 阿裡旅行·去啊 </h1> 5 <h2>
  • 目錄 瞭解什麼是Web 瞭解什麼是HTML 瞭解什麼是CSS 瞭解什麼是JavaScript 瞭解HTML與CSS是如何一起工作的 為何要使用CSS 擴展閱讀 一、瞭解什麼是Web? 通俗來講,可以使用戶通過瀏覽器來訪問某個電腦上的文件。 二、瞭解什麼是HTML? HTML(超文本標記語言--Hyp
  • 前端自動化流程工具,用來合併文件,壓縮等。 Gulp官網 http://gulpjs.com/ Gulp中文網 http://www.gulpjs.com.cn/ Gulp中文文檔 https://github.com/lisposter/gulp-docs-zh-cn Gulp插件網 http:/
  • 由於瀏覽器提供的alert和confirm框體驗不好,而且瀏覽器沒有提供一個標準的以對話框的形式顯示自定義HTML的彈框函數,所以很多項目都會自定義對話框組件。本篇文章介紹自己在項目中基於bootstrap的modal組件,自定義alert,confirm和modal對話框的經驗,相對比較簡單實用,...
  • 一、bug描述 下圖為正常情況,一個網頁主體寬度為1280px。 當縮小瀏覽器寬度,出現滾動條時,效果如下,右側出現空白,導致內容顯示不全。 二、bug重現和解決 1、代碼如下 body中有一個灰色背景的div,div中嵌套一個有固定寬度1280px的p標簽。 <!DOCTYPE html> <ht
  • HTML: <input type="button" id="btn1" value="嵌套回調非同步"> <input type="button" id="btn2" value="$.Deferred非同步"> <p>顯示結果:<span id="result"></span></p> JS: va
  • 搭建ionic cordova 環境用於編寫hybrid 手機程式。
  • 1.導入外部.js文件: <script src="http://static.l99.com/js/jquery/jquery-1.2.6.pack.js" type="text/javascript"></script>2.在<body>標簽中加入如下代碼: <body> 還可以輸入<span
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...