简单的问题,请高手赐教!!!!!

blueman666 2005-11-13 01:55:52
我想实现如下功能:
页面中有两个列表单,左边的列表单中是选择项,选择内容后,点击按钮,选取的内容就添加到右面的列表单中.在一个页面中实现.兄弟是个新手,请赐教.有源码最好.谢谢
...全文
98 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
饿鱼骨头 2005-11-29
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="GBK"?>
<Employees>
<Department dept="A01">
<DeptName>销售部</DeptName>
</Department>
<Department dept="A02">
<DeptName>开发部</DeptName>
</Department>
<Department dept="A03">
<DeptName>财务部</DeptName>
</Department>
<Employee dept="A01">
<EmployeeID>01001</EmployeeID>
<EmployeeName>张三</EmployeeName>
</Employee>
<Employee dept="A02">
<EmployeeID>01002</EmployeeID>
<EmployeeName>李四</EmployeeName>
</Employee>
<Employee dept="A01">
<EmployeeID>01003</EmployeeID>
<EmployeeName>王五</EmployeeName>
</Employee>
<Employee dept="A03">
<EmployeeID>01004</EmployeeID>
<EmployeeName>赵六</EmployeeName>
</Employee>
<Employee dept="A02">
<EmployeeID>01005</EmployeeID>
<EmployeeName>何七</EmployeeName>
</Employee>
<Employee dept="A01">
<EmployeeID>01006</EmployeeID>
<EmployeeName>马八</EmployeeName>
</Employee>
<Employee dept="A01">
<EmployeeID>01007</EmployeeID>
<EmployeeName>田九</EmployeeName>
</Employee>
<Employee dept="A02">
<EmployeeID>01008</EmployeeID>
<EmployeeName>孙十</EmployeeName>
</Employee>
<Employee dept="A01">
<EmployeeID>01009</EmployeeID>
<EmployeeName>张建军</EmployeeName>
</Employee>
<Employee dept="A03">
<EmployeeID>01010</EmployeeID>
<EmployeeName>朱莉莹</EmployeeName>
</Employee>
</Employees>
饿鱼骨头 2005-11-29
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<style type="text/css">
<!--

-->
</style>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="周锷">
<META NAME="Keywords" CONTENT="部门人员管理">
<META NAME="Description" CONTENT="部门人员管理">

<script>
function closeWin()
{
if(confirm("你要关闭窗口吗?"))
{
window.opener=null;
window.close();
}
}

function load()
{
var xmldoc=new ActiveXObject("Msxml.DOMDocument");
xmldoc.async=false;
xmldoc.load("Emp001.xml");
var DeptList=xmldoc.selectNodes("//Department");
for(i=0;i<DeptList.length;i++)
{
Dept.options[Dept.options.length]=new Option(DeptList[i].attributes[0].value+DeptList[i].childNodes[0].text,DeptList[i].attributes[0].value);
}
}

function moveAll(box)
{
for(i=0;i<LeftBox.length;i++)
{
LeftBox.options[i--]=null;
}
for(i=0;i<RightBox.length;i++)
{
RightBox.options[i--]=null;
}
obj=document.all.Dept.value;
var xmldoc=new ActiveXObject("Msxml.DOMDocument");
xmldoc.async=false;
xmldoc.load("Emp001.xml");
var EmpList=xmldoc.selectNodes("//Employee[@dept='"+obj+"']");
for(i=0;i<EmpList.length;i++)
{
box.options[i]=new Option(EmpList[i].childNodes[0].text+EmpList[i].childNodes[1].text,i);
}

}


function move(objA,objB)
{
var sValue=new Array();
var textTemp=new Array();
var valueTemp=new Array();
for(i=0;i<objA.options.length;i++)
if(objA.options[i].selected)
{
objB.options[objB.options.length]=new Option(objA.options[i].text,objA.options[i].value);
objA.options[i--]=null;
}
for(i=0;i<objB.options.length;i++)
{
sValue[i]=objB.options[i].value;
textTemp[i]=objB.options[i].text;
valueTemp[i]=objB.options[i].value;
}
sValue.sort();
for(i=0;i<objB.options.length;i++)
{
objB.options[i].value=sValue[i];
for(j=0;j<objB.options.length;j++)
{
if(objB.options[i].value==valueTemp[j])
objB.options[i].text=textTemp[j];
}
}
}
</script>
</HEAD>

<BODY onload="load();moveAll(LeftBox)">
<center>
<h3>部门人员管理</h3>
<TABLE border=0>
<TR>
<TD colspan="3"><center><font face="宋体" size=4>部门</font><select name="Dept" onchange="moveAll(LeftBox);"></select><center></TD>
</TR>
<TR>
<TD><select size=6 name="LeftBox" multiple style={width:100px;height:140px;}></select></TD>
<TD>
<input style="width:40px" type="button" value=">>" onclick="moveAll(RightBox);"><br>
<input style="width:40px" type="button" value=">" onclick="move(LeftBox,RightBox);"><br>
<input style="width:40px" type="button" value="<" onclick="move(RightBox,LeftBox);"><br>
<input style="width:40px" type="button" value="<<" onclick="moveAll(LeftBox);"><br>
</TD>
<TD><select size=6 name="RightBox" multiple style={width:100px;height:140px;}></select></TD>
</TR>
<TR>
<TD colspan="3"><center><input type="button" value="重 置" onclick="moveAll(LeftBox);"> <input type="button" value="关 闭" onclick="closeWin();"></center></TD>
</TR>
</TABLE>
</center>
</BODY>
</HTML>
blueman666 2005-11-14
  • 打赏
  • 举报
回复
谢谢几位兄弟了。尤其是sky_boxer(饿鱼骨头) ,可以把对xml文件数据操作,能实现单项、全部左右移动加排序的给我吗。谢谢
饿鱼骨头 2005-11-13
  • 打赏
  • 举报
回复
还可以一次多项选择
饿鱼骨头 2005-11-13
  • 打赏
  • 举报
回复
我n久前做过一个,用的javascript实现的,给你参考下,是可以左右移动,加数据排序。

<html>
<head>
<script>
function trans(objA,objB)
{
var sValue=new Array();
var textTemp=new Array();
var valueTemp=new Array();
for(i=0;i<objA.options.length;i++)
if(objA.options[i].selected)
{
objB.options[objB.options.length]=new Option(objA.options[i].text,objA.options[i].value);
objA.options[i--]=null;
}
for(i=0;i<objB.options.length;i++)
{
sValue[i]=objB.options[i].value;
textTemp[i]=objB.options[i].text;
valueTemp[i]=objB.options[i].value;
}
sValue.sort();
for(i=0;i<objB.options.length;i++)
{
objB.options[i].value=sValue[i];
for(j=0;j<objB.options.length;j++)
{
if(objB.options[i].value==valueTemp[j])
objB.options[i].text=textTemp[j];
}
}
}
</script>
</head>
<body>
<table>
<tr>
<td>
<select name="leftBox" size="8" multiple style={width:200}>
<option value="A">reading(A001)</option>
<option value="B">basketball(B001)</option>
<option value="C">pc games(C001)</option>
<option value="D">computer science(D001)</option>
<option value="E">badmington(E001)</option>
<option value="F">swiming(F001)</option>
<option value="G">fishing(G001)</option>
<option value="H">cooking(H001)</option>
</select>
</td>

<td>
<input type="button" value=">>" name="btn_LtoR" onclick="trans(leftBox,rightBox);" style={width:60}><br>
<input type="button" value="<<" name="btn_RtoL" onclick="trans(rightBox,leftBox);" style={width:60}>
</td>

<td>
<select name="rightBox" size="8" multiple style={width:200}>
</select>
</td>
</tr>
</table>
</body>
</html>

还有一个更复杂些的,对xml文件数据操作,能实现单项、全部左右移动加排序。你要的话我贴出来。
Mr_Yang 2005-11-13
  • 打赏
  • 举报
回复
学习
pengtao_2005 2005-11-13
  • 打赏
  • 举报
回复
function compareOptionValues(a, b)

{
var sA = parseInt( a.value, 36 );

var sB = parseInt( b.value, 36 );

return sA - sB;

}

function compareOptionText(a, b)

{
var sA = parseInt( a.text, 36 );

var sB = parseInt( b.text, 36 );

return sA - sB;
}

function moveDualList( srcList, destList, moveAll )

{

if ( ( srcList.selectedIndex == -1 ) && ( moveAll == false ) )

{

return;

}
newDestList = new Array( destList.options.length );
var len = 0;
for( len = 0; len < destList.options.length; len++ )

{
if ( destList.options[ len ] != null )

{
newDestList[ len ] = new Option( destList.options[ len ].text, destList.options[ len ].value, destList.options[ len ].defaultSelected, destList.options[ len ].selected );
}

}

for( var i = 0; i < srcList.options.length; i++ )

{

if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )

{
newDestList[ len ] = new Option( srcList.options[i].text, srcList.options[i].value, srcList.options[i].defaultSelected, srcList.options[i].selected );

len++;

}

}

newDestList.sort( compareOptionValues ); // BY VALUES

for ( var j = 0; j < newDestList.length; j++ )

{

if ( newDestList[ j ] != null )

{

destList.options[ j ] = newDestList[ j ];

}

}

for( var i = srcList.options.length - 1; i >= 0; i-- )

{

if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )

{
srcList.options[i] = null;

}

}

}
============================== Copyright (C) 2003-2008 Script Written by 坏孩子 程序名称: 百科知识搜索系统 Ver 1.0 BETA 版 软件类别: ASP源码 / 搜索CMS 软件语言: 简体中文 授权方式: 免费版 系统平台: ASP+Access 程序下载: http://www.baidu.com.cn/s?wd=%B0%D9%BF%C6%D6%AA%CA%B6%CB%D1%CB%F7%CF%B5%CD%B3 官方网址: http://qbar.qq.com/ah4m5a7z/ (QQ论坛) 程序开发: 小治技术 研发中心 EMAIL:xiaovshzi@126.com ============================== 小治技术QQ群:9575165 作者QQ:270612779 ============================== 默认用户:admin 密码:admin(放到网上,建议更改) 数据库链接文件:inc/mdb.asp(第一次使用设置) 数据库文件:@@3$/bkss.mdb(放到网上,建议更改) 有些功能还没实现 代码也没有优化~~测试用的版本~~ 先放出来 大家自己研究玩吧~~等我自己把组织论坛的搞完了就开始写BETA 2版(用大后台支持) 有人也问我是否可以加了采集的功能,可恨本人才疏学浅,无法满足,希望有高手不惜赐教~~~ 界面版权:www.openv.com ============================== 程序介绍: ◎前言:这是应一个MM的要求,搞了一个类似于知识库的系统,为了方便她快速搜索到需要的文章和问题答案,因此就做成了现在这样的搜索为主的cms,里面存放了大约3000篇以上的知识量,涉及到3大类10几个层面,涵盖了衣食住行、生活娱乐、电脑知识、动植物等,甚至是三国演义和西游记全篇,这个文件这么大,就是因为数据库内容太多了!不过这样大家一下下来就能用了! ◎特点:系统用了智能拆分关键字查询和分类别查询,主要就用到3个文件,包括一个错误提示页!后台可要可不要,自己掂量掂量看看是否需要就是! ◎设计:界面比较漂亮,完全是down 别人的,因为过年了,设计师都忙着回家,没空帮我,不过的确很不错,希望你会和我一样喜欢!logo和head 都留空,你可以自己进images修改它,想取什么名称就取什么名称, ◎安全:因为我也要回家过年,而且这本身就只针对MM个人电脑使用,本人没怎么认真对待,(惭愧~~~)但对于普通的菜鸟,应该是没问题的,如果你是入侵高手,建议自己在检测和修缮下,如果可以,到我们的论坛发表下! ◎其他:后台可以设置这个站点的名称和网站开关,也可以屏蔽指定的IP访问,由于我是拷贝CMS的config,因为没有删除其他的内容,(再次惭愧~~,)貌似没什么影响!如果你需要本地测试,建议把数据库备份,然后删除2500篇内容,不然会影响你测试速度,尤其是服务器配置不好的同志! ◎最后:本程序是小治技术社区的坏孩子作品,感谢社区的编程高手对本人给与技术上的指点!发布此版本旨在与众网友交流学习,整理过程中较为仓促,难免有疏漏,大家提出指正。 ============================== -小治技术QQ群:9575165

81,117

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧