急急急急急急急急急急急急急急急!!高手请进……

love_puppe 2005-07-07 03:41:33

这段代码运行后是这样显示的:
列表一 列表二
部门0
部门1
点部门0后,在列表二中显示:张三,李四,王五;点部门1后,在列表二中显示:马六,田七,张三;同时点中部门0和部门1后,列表二显示:张三,李四,王五,马六,田七,张三。
现在的问题就是张三这个人重复了,怎么样才能实现选中多个部门后自动去除重复的值呢???
<select name="dpt" size="12" multiple onChange="addt(emp,this);" >
</select>
<select name="emp" size="12" multiple style="width:120;">
</select>
<script>
//在这里初始化数据
var dept = new Array();
var empl = new Array();
//---循环部门表
dept[0] = "部门0";
dept[1] = "部门1";
//---循环部门表

empl[0] = new Array();
empl[1] = new Array();
//---循环员工表
empl[0][0] = "张三";
empl[0][1] = "李四";
empl[0][2] = "王五";

empl[1][0] = "马六";
empl[1][1] = "田七";
empl[1][2] = "张三";
//---循环员工表
//===================
function initData(slt){
removeAll(slt);
for(i=0;i<dept.length;i++){
newoption = new Option(dept[i],dept[i]);
slt.add(newoption);
}
}
function removeAll(slt){
var i = 0;
for(i=slt.length-1;i>=0;i--){
slt.remove(i);
}
}
function addt(slt,me){
var i = 0, j = 0;
removeAll(slt);
for(j =0;j<me.length;j++){
if(me.options[j].selected){
for(i=0;i<empl[j].length;i++){
newoption = new Option(empl[j][i],empl[j][i]);
slt.add(newoption);
}
}
}
}
initData(dpt);
</script>
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
congliu 2005-07-07
  • 打赏
  • 举报
回复
每次加入新项的时候,都循环遍历已有的项
for (var cc=0; cc<document.Form1.elements[ID].length; cc++ )
{ if (document.Form1.elements[ID].options[cc].value == Value)
return;
}
blackdreamzg 2005-07-07
  • 打赏
  • 举报
回复
补充一下取ID的方法。
function GetObjID(ObjName)
{ for ( var ObjID=0; ObjID < window.Form1.elements.length; ObjID++ )
if (window.Form1.elements[ObjID].name == ObjName )
{ return(ObjID);
break;
}
return(-1);
}
blackdreamzg 2005-07-07
  • 打赏
  • 举报
回复
补充一下取ID的方法。
function GetObjID(ObjName)
{ for ( var ObjID=0; ObjID < window.Form1.elements.length; ObjID++ )
if (window.Form1.elements[ObjID].name == ObjName )
{ return(ObjID);
break;
}
return(-1);
}
blackdreamzg 2005-07-07
  • 打赏
  • 举报
回复
判断是否已选
function IsSelected(ID, Value)
{ if (ID != -1 && Value != "")
{ for (var cc=0; cc<document.Form1.elements[ID].length; cc++ )
{ if (document.Form1.elements[ID].options[cc].value == Value)
return true;
}
return false;
}
return false;
}

81,092

社区成员

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

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