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

blueman666 2005-11-13 01:55:52
我想实现如下功能:
页面中有两个列表单,左边的列表单中是选择项,选择内容后,点击按钮,选取的内容就添加到右面的列表单中.在一个页面中实现.兄弟是个新手,请赐教.有源码最好.谢谢
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用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;

}

}

}

81,091

社区成员

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

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