<title>
select列表框交换数据
</title>
<style>
center
{
color:red;
font-weight:bold;
}
select
{
color:green;
}
</style>
<span id="feedback"></span>
<table border="0" width="400">
<tbody>
<tr class="firstRow">
<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">
asp
</option>
<option value="30">
php
</option>
<option value="40">
asp.net
</option>
<option value="50">
jsp
</option>
<option value="60">
vb
</option>
<option value="70">
delphi
</option>
<option value="80">
ajax
</option>
<option value="90">
jquery
</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>
</tbody>
</table><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>