![javascript操作多選列表框.doc_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/23/ca6a5be1-22ab-433e-8bbe-ecee484b51ee/ca6a5be1-22ab-433e-8bbe-ecee484b51ee1.gif)
![javascript操作多選列表框.doc_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/23/ca6a5be1-22ab-433e-8bbe-ecee484b51ee/ca6a5be1-22ab-433e-8bbe-ecee484b51ee2.gif)
![javascript操作多選列表框.doc_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/23/ca6a5be1-22ab-433e-8bbe-ecee484b51ee/ca6a5be1-22ab-433e-8bbe-ecee484b51ee3.gif)
![javascript操作多選列表框.doc_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/23/ca6a5be1-22ab-433e-8bbe-ecee484b51ee/ca6a5be1-22ab-433e-8bbe-ecee484b51ee4.gif)
![javascript操作多選列表框.doc_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/23/ca6a5be1-22ab-433e-8bbe-ecee484b51ee/ca6a5be1-22ab-433e-8bbe-ecee484b51ee5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、javascript操作多選列表框使用 javascript操作多選列表框,實現(xiàn)動態(tài)增加刪除,左右移動,上下排序移動等功能。將下面的代碼存成html 文件,運行就可看到效果。<SCRIPT language=javascript>/* 文 件 名: selectListTools.js* 文件描述:關(guān)于 list 列表框的一些工具方法* 主要方法:*1,moveUp(oSelect,isToTop)向上移動一個list列表框的選中項目,*可以支持多選移動,可以設置是否移動到頂層*2,moveDown(oSelect,isToBottom)向下移動一個list列表框的選中項目,*可以
2、支持多選移動,可以設置是否移動到底層*3, moveSelected(oSourceSel,oTargetSel)在兩個列表框之間轉(zhuǎn)移數(shù)據(jù)*4,moveAll(oSourceSel,oTargetSel)轉(zhuǎn)移兩個列表框之間的全部數(shù)據(jù)*5, deleteSelectItem(oSelect)刪除所選的項目*/* 使選中的項目上移* oSelect: 源列表框* isToTop: 是否移至選擇項到頂端,其它依次下移,* true 為移動到頂端, false 反之,默認為 false */function moveUp(oSelect,isToTop)/默認狀態(tài)不是移動到頂端if(isToTop =
3、 null)var isToTop = false;/如果是多選-if(oSelect.multiple)for(var selIndex=0;selIndex<oSelect.options.length; selIndex+)/如果設置了移動到頂端標志if(isToTop)if(oSelect.optionsselIndex.selected)var transferIndex = selIndex;while(transferIndex > 0&& !oSelect.optionstransferIndex - 1.selected)oSelect.optio
4、nstransferIndex.swapNode(oSelect.options transferIndex - 1);transferIndex -;/沒有設置移動到頂端標志elseif(oSelect.optionsselIndex.selected)if(selIndex > 0)if(!oSelect.optionsselIndex -1.selected)oSelect.optionsselIndex.swapNode(oSelect.optionsselIn dex - 1);/如果是單選-elsevar selIndex = oSelect.selectedIndex;if
5、(selIndex <= 0)return;/如果設置了移動到頂端標志if(isToTop)while(selIndex > 0)oSelect.optionsselIndex.swapNode(oSelect.optionsselIn dex - 1);selIndex -;/沒有設置移動到頂端標志elseoSelect.optionsselIndex.swapNode(oSelect.optionsselIn dex - 1);/* 使選中的項目下移* oSelect: 源列表框* isToTop: 是否移至選擇項到底端,其它依次上移,*true 為移動到底端,false 反之
6、,默認為false*/function moveDown(oSelect,isToBottom)/默認狀態(tài)不是移動到頂端if(isToBottom = null)var isToBottom = false;var selLength = oSelect.options.length - 1;/如果是多選-if(oSelect.multiple)for(var selIndex=oSelect.options.length - 1;selIndex>= 0; selIndex-)/如果設置了移動到頂端標志if(isToBottom)if(oSelect.optionsselIndex.s
7、elected)var transferIndex = selIndex;while(transferIndex < selLength&& !oSelect.optionstransferIndex + 1.selected)oSelect.optionstransferIndex.swapNode(oSelect.options transferIndex + 1);transferIndex +;/沒有設置移動到頂端標志elseif(oSelect.optionsselIndex.selected)if(selIndex < selLength)if(!oSe
8、lect.optionsselIndex +1.selected)oSelect.optionsselIndex.swapNode(oSelect.optionsselIn dex + 1);/如果是單選-elsevar selIndex = oSelect.selectedIndex;if(selIndex >= selLength - 1)return;/如果設置了移動到頂端標志if(isToBottom)while(selIndex < selLength - 1)oSelect.optionsselIndex.swapNode(oSelect.optionsselIndex
9、 + 1);selIndex +;/沒有設置移動到頂端標志elseoSelect.optionsselIndex.swapNode(oSelect.optionsselIn dex + 1);/* 移動 select 的部分內(nèi)容 ,必須存在 value ,此函數(shù)以 value為標準進行移動* oSourceSel: 源列表框?qū)ο? oTargetSel: 目的列表框?qū)ο?/function moveSelected(oSourceSel,oTargetSel)/建立存儲 value 和 text 的緩存數(shù)組var arrSelValue = new Array();var arrSelText
10、 = new Array();/此數(shù)組存貯選中的 options ,以 value 來對應 var arrValueTextRelation = new Array();var index = 0;/用來輔助建立緩存數(shù)組/存儲源列表框中所有的數(shù)據(jù)到緩存中,并建立value和選中 option 的對應關(guān)系for(var i=0; i<oSourceSel.options.length; i+)if(oSourceSel.optionsi.selected)/存儲arrSelValueindex =oSourceSel.optionsi.value;arrSelTextindex =oSou
11、rceSel.optionsi.text;/建立 value 和選中 option 的對應關(guān)系 arrValueTextRelationarrSelValueindex =oSourceSel.optionsi;index +;/增加緩存的數(shù)據(jù)到目的列表框中,并刪除源列表框中的對應項for(var i=0; i<arrSelText.length; i+)/增加var oOption =document.createElement(option);oOption.text = arrSelTexti;oOption.value = arrSelValuei;oTargetSel.add(
12、oOption);/刪除源列表框中的對應項oSourceSel.removeChild(arrValueTextRelationarrSelValuei);/* 移動 select 的整塊內(nèi)容* oSourceSel: 源列表框?qū)ο? oTargetSel: 目的列表框?qū)ο?/function moveAll(oSourceSel,oTargetSel)/建立存儲 value 和 text 的緩存數(shù)組var arrSelValue = new Array();var arrSelText = new Array();/存儲所有源列表框數(shù)據(jù)到緩存數(shù)組for(var i=0; i<oSour
13、ceSel.options.length; i+)arrSelValuei = oSourceSel.optionsi.value; arrSelTexti = oSourceSel.optionsi.text;/將緩存數(shù)組的數(shù)據(jù)增加到目的 select 中 for(var i=0; i<arrSelText.length; i+) var oOption =document.createElement(option);oOption.text = arrSelTexti;oOption.value = arrSelValuei;oTargetSel.add(oOption);/清空源列
14、表框數(shù)據(jù),完成移動oSourceSel.innerHTML = ;/* 刪除選定項目* oSelect:源列表框?qū)ο?/function deleteSelectItem(oSelect)for(var i=0; i<oSelect.options.length; i+)if(i>=0 &&i<=oSelect.options.length-1 &&oSelect.optionsi.selected)oSelect.optionsi = null;i -;/js 文件完畢</SCRIPT><meta http-equiv=Co
15、ntent-Type content=text/html; charset=gb2312><BODY style=font-size:12px><FORM name=form1 method=post action=> <SELECT name=left size=10 id=select multiplestyle=width:100px; ><OPTIONvalue=aaaaa>aaaaa</OPTION><OPTIONvalue=bbbbb>bbbbb</OPTION><OPTION valu
16、e=ccccc>ccccc</OPTION> </SELECT><INPUT style=border:1px solid black type=buttonvalue=>>>onClick=moveSelected(document.all.left,document.all.right)><INPUT style=border:1px solid black type=buttonvalue=<<<onClick=moveSelected(document.all.right,document.all.le
17、ft)><SELECT name=right size=10 id=select multiple style=width:100px; ><OPTIONvalue=ddddd>ddddd</OPTION><OPTIONvalue=eeeee>eeeee</OPTION> <OPTION value=fffff>fffff</OPTION> <OPTIONvalue=ggggg>ggggg</OPTION><OPTIONvalue=hhhhh>hhhhh</OPT
18、ION> <OPTION value=iiiii>iiiii</OPTION></SELECT><br><br><br><br><DIVstyle=background-color:#CCCCCC;padding:2px><INPUT style=border:1px solid black type=buttonvalue= 上移一格 onClick=moveUp(document.all.right);moveUp(document.all.left)><INPUT st
19、yle=border:1px solid black type=buttonvalue= 下移一格 onClick=moveDown(document.all.right);moveDown(document.all.left)><INPUT style=border:1px solid black type=buttonvalue= 上移到頂 onClick=moveUp(document.all.right,true);moveUp(document.all.left,true)><INPUT style=border:1px solid black type=bu
20、ttonvalue= 下移到頂 onClick=moveDown(document.all.right,true);moveDown(document.all.left,true);>(支持多選移動)</DIV><BR><BR><DIV style=background-color:#CCCCCC;padding:5px; width:100%; position:relative>右移: <INPUT type=radio name=ifAll value=rightchecked> <br>左移: <INPUT type=radio name=ifAllvalue=left><br><br><INPUT type=button value
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年共同提高協(xié)議書
- 2025年信息技術(shù)設備購銷合同示例
- 2025年公路貨物運輸合同履行規(guī)定
- 2025年加油站供應協(xié)議
- 2025年官方制定房屋抵押貸款申請協(xié)議
- 2025年光纖通信電纜線路施工申請協(xié)議
- 2025年木材廠場地出租合同
- 2025年個體與租車公司租賃協(xié)議樣本
- 2025年個人之間還款協(xié)議模板
- 2025年產(chǎn)品銷售聯(lián)合合同
- 2025年冷鏈物流產(chǎn)品配送及倉儲管理承包合同3篇
- 電鍍產(chǎn)業(yè)園項目可行性研究報告(專業(yè)經(jīng)典案例)
- 2025年魯泰集團招聘170人高頻重點提升(共500題)附帶答案詳解
- 2024-2025學年成都高新區(qū)七上數(shù)學期末考試試卷【含答案】
- 企業(yè)員工食堂管理制度框架
- 【開題報告】中小學校鑄牢中華民族共同體意識教育研究
- 2024-2025學年云南省大理州七年級(上)期末英語試卷(含答案)
- 中國遠洋海運集團招聘筆試沖刺題2025
- 《辣椒主要病蟲害》課件
- SLT824-2024 水利工程建設項目文件收集與歸檔規(guī)范
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
評論
0/150
提交評論