關於js select 上移,下移,置頂,置底
<!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>
相關文章
- 表格資料的上移和下移
- [置頂] About Me & 部落格遷移
- linux下移動裝置的掛載Linux
- Sql 查詢 置頂、排序,置頂和非置頂為不同的排序欄位SQL排序
- Vue 置頂元件FixedTopWrap 支援自定義內容置頂Vue元件
- StackOverflow 上關於 JS 的熱門問答JS
- # 關於select關鍵字語句定義順序# 關於select關鍵字語句執行順序
- html footer置底部HTML
- 關於jstl的xml操作中的select路徑表示式問題。JSXML
- [置頂]筆記合集筆記
- js元素上下移動效果程式碼例項JS
- AssetBundle在移動裝置上丟失
- 關於 select ... for update 和 for update nowaitAI
- 關於Select Model的兩篇譯文
- 關於裝置畫素比
- 實現web置頂效果Web
- [置頂] SQL日期型別SQL型別
- H5 按鈕置底H5
- Hammer.js 移動裝置觸控手勢js庫JS
- SOLARS AIX LINUX 下移動資料庫檔案到裸裝置AILinux資料庫
- 關於SSL裝置的詳解
- js關於this的疑惑JS
- JS中關於argumentsJS
- Semiocast:Twitter上61%微博由移動裝置發出AST
- CEA:58%的消費者購物時在移動裝置上查詢相關資訊
- 關於移動端元件庫元件
- GitHub 上需要關注的 10 大頂級 React 庫GithubReact
- Js操作Select大全JS
- 基於js實現點選按鈕回到頂部JS
- js返回頂部JS
- win10 如何將視窗置頂 win10怎麼設定視窗置頂Win10
- 9 個用於移動APP開發的頂級 JavaScript 框架APPJavaScript框架
- 可以應用於移動端的頂部導航固定效果
- 移動裝置上實現“詩人”也能用TensorFlow
- 關於js中的值JS
- 關於js變數提升JS變數
- 關於js中的‘==’ 與 ‘===’JS
- 關於JSP和HTMLJSHTML