两个列表框的选项转移与排序

源码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>两个列表框的选项转移与排序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, td{
font-size: 10pt;
}
a:link{
color: #ff0000;
}
a:visited{
color: #ff0000;
}
a:hover{
color: #0000ff;
}
-->
</style>
</head>
<body>
<br>
<center><h1><font color=#ff0000>笔记本</font>主要属性设定</h1></center>
<table border="0">
<tr align=center>
<td><h3>笔记本属性列表</h3></td>
<td><h3>操作</h3></td>
<td><h3>笔记本主要属性</h3></td>
<td><h3>主要属性重新排序</h3></td>
</tr>
<form name="form_category" method="post" onSubmit="allSelect()">
<tr>
   <td valign=top>
    <select name="possible" MULTIPLE width=200 style="width: 200px;">
     <option value="1">设计类型</option>
     <option value="2">产品类型</option>
     <option value="3">CPU类型</option>
     <option value="4">迅驰技术</option>
     <option value="5">标称频率</option>
     <option value="6">CPU描述</option>
     <option value="7">二级缓存</option>
     <option value="8">主板描述</option>
     <option value="9">屏幕尺寸</option>
     <option value="10">是否宽屏</option>
     <option value="11">内存大小</option>
     <option value="12">硬盘大小</option>
     <option value="9">屏幕尺寸</option>
     <option value="10">是否宽屏</option>
     <option value="11">内存大小</option>
     <option value="12">硬盘大小</option>
    </select>
   </td>
   <td>
   <a href="javascript:copyToList('possible','chosen')">添加至主要属性--&gt;</a><br>
   <br>
   <a href="javascript:copyToList('chosen','possible')">&lt;--从主要属性移除</a></td>
   <td valign=top>
    <select name="chosen" width=200 style="width: 200px;">
     <option value="temp">从左边选择属性</option>
    </select>
   </td>
      <td align=center>
     <a href="javascript:;" onClick="doTopItem()">移到最上面</a><br />
     <a href="javascript:;" onClick="doUpItem()">向上移动</a><br />
     <a href="javascript:;" onClick="doDownItem()">向下移动</a><br />
     <a href="javascript:;" onClick="doBottomItem()">移到最下面</a>
    </td>
</tr>
</form>
<tr>
   <td colspan="4">
    <div align="center">
    <input type="button" value="保 存" onClick="doSubmit()">
    &nbsp;&nbsp;&nbsp;
    <input type="button" value="重 置" onClick="doRe()">
    <input type="hidden" name="items" value="">
    </div>
   </td>
</tr>
</table>
<span id=shownum></span>
<SCRIPT LANGUAGE="javascript">
document.getElementById("possible").size=document.getElementById("possible").length;
//go top
function doTopItem(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
   var topV,topT;
   var tempV=new Array();
   var tempT=new Array();
   for(var i=0;i<length;i++){
   if(seqSelect.options[i].selected){
    if(i==0)
      return false;
    topV=seqSelect.options[0].value;
    topT=seqSelect.options[0].text;
    seqSelect.options[0].value=seqSelect.options[i].value;
    seqSelect.options[0].text=seqSelect.options[i].text;
   
    for(var j=1;j<length;j++){
     tempV[j]=seqSelect.options[j].value;
     tempT[j]=seqSelect.options[j].text;
     if(j==1){
     seqSelect.options[1].value=topV;
     seqSelect.options[1].text=topT;
     }
     else if(j>i){
      break;     
     }else{
     seqSelect.options[j].value=tempV[j-1];
     seqSelect.options[j].text=tempT[j-1];
     }
    }
   
    }
   }
   seqSelect.options[0].selected=true;
}

//go bottom
function doBottomItem(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
    var bottomV,bottomT;
   var tempV=new Array();
   var tempT=new Array();
   for(var i=0;i<length;i++){
   if(seqSelect.options[i].selected){
    if(i==(length-1))
     return false;
    bottomV=seqSelect.options[length-1].value;
    bottomT=seqSelect.options[length-1].text;
    seqSelect.options[length-1].value=seqSelect.options[i].value;
    seqSelect.options[length-1].text=seqSelect.options[i].text;
   
     for(var j=length-2;j>=0;j--){
     tempV[j]=seqSelect.options[j].value;
     tempT[j]=seqSelect.options[j].text;
     if(j==(length-2)){
     seqSelect.options[length-2].value=bottomV;
     seqSelect.options[length-2].text=bottomT;
     }
     else if(j<i){
      break;     
     }
      else{
     seqSelect.options[j].value=tempV[j+1];
     seqSelect.options[j].text=tempT[j+1];
     }
    }
   
    }
   }
   seqSelect.options[length-1].selected=true;
}

//go up 1
function doUpItem(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
var tempV,tempT;
for(var i=0;i<length;i++){
   if(seqSelect.options[i].selected){
    if(i==0)
     return false;
    tempV=seqSelect.options[i-1].value;
    tempT=seqSelect.options[i-1].text;
    seqSelect.options[i-1].value=seqSelect.options[i].value;  
    seqSelect.options[i-1].text=seqSelect.options[i].text;
    seqSelect.options[i].value=tempV;  
    seqSelect.options[i].text=tempT;
    seqSelect.options[i-1].selected=true;
    break;     
   }
}
}

//go down 1
function doDownItem(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
var tempV,tempT;
for(var i=0;i<length;i++){
   if(seqSelect.options[i].selected){
    if(i==(length-1))
     return false;
    tempV=seqSelect.options[i+1].value;
    tempT=seqSelect.options[i+1].text;
    seqSelect.options[i+1].value=seqSelect.options[i].value;  
    seqSelect.options[i+1].text=seqSelect.options[i].text;
    seqSelect.options[i].value=tempV;  
    seqSelect.options[i].text=tempT;
    seqSelect.options[i+1].selected=true;
    break;     
   }
}
shownum.innerHtml=length;
}


//get value
function doSubmit(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
var items="";
for(var i=0;i<length;i++){
   if(i==0){
    items=seqSelect.options[i].value;
   }else{
    items=items+"||"+seqSelect.options[i].value;
   }
}
document.form_category.items.value=items;
document.form_category.action="data.aspx";
document.form_category.submit();
}

function doRe(){
var seqSelect=document.getElementById('chosen');
var length=seqSelect.size;
document.form_category.action="";
document.form_category.submit();
}


function copyToList(from,to){
//from表示:包含可选择项目的select对象名字 to表示:列出可选择项目的select对象名字 //你可以根据你的具体情况修改
   fromList = eval('document.form_category.' + from);
   toList = eval('document.form_category.' + to);
   if (toList.options.length > 0 && toList.options[0].value == 'temp')
   {
     toList.options.length = 0;
   }
   var sel = false;
   for (i=0;i<fromList.options.length;i++)
   {
     var current = fromList.options[i];
     if (current.selected)
     {
       sel = true;
       if (current.value == 'temp')
       {
         alert ('你不能选择这个项目!');
         return;
       }
       txt = current.text;
       val = current.value;
       toList.options[toList.length] = new Option(txt,val);
       fromList.options[i] = null;
       i--;
     }
   }
fromList.size=fromList.length;
toList.size=toList.length;
   if (!sel) alert ('你还没有选择任何项目');
}
function allSelect(){
//这是当用户按下提交按钮时,对列出选择的select对象执行全选工作,让递交至的后台程序能取得相关数据
   List = document.form_category.chosen;
   if (List.length && List.options[0].value == 'temp') return;
   for (i=0;i<List.length;i++)
   {
      List.options[i].selected = true;
   }
}
</SCRIPT>

   </body>
</html>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值