如何判断列表框的数据已经存在

ronanlin 2004-09-23 09:31:42
有两个列表框,在第一个中选择后添加到第二个中,
如何判断选择第一个列表框的数据在第二个列表框中已经存在,
如果存在,就不再添加重复的内容
第一个列表框UserName,第二个列表框UserNameSel
//添加选中值
function AddValue(form){
for(var i=0;i<form.UserName.length;i++){
if (form.UserName.options[i].selected){
form.UserNameSel.options[form.UserNameSel.length] = new Option(form.UserName.options[i].text,form.UserName.options[i].value)
}
}
}
...全文
113 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
anwell 2004-12-16
  • 打赏
  • 举报
回复
function LeftToRight(Left,Right){ //左边加到右边
for(var i=Left.length-1;i>=0;i--){
if(Left.options[i].selected){
var j = Right.options.length - 1;
for (; j >= 0; j--) {
if (Left.options(i).value == Right.item(j).value) {
break;
}
}
if (j<0) {
var op = document.createElement("OPTION");
op.text=Left.options[i].text;
op.value=Left.options[i].value;

Right.add(op);
//Left.options[i] = null;
}
}
}
}
ronanlin 2004-09-23
  • 打赏
  • 举报
回复
to: zhuqm(东子)
我原来也是这样写,但写完后,选择后添加不到第二个列表框中,不知为什么?
zhuqm 2004-09-23
  • 打赏
  • 举报
回复
没写完就发了,汗!!
function AddValue(form){
for(var i=0;i<form.UserName.length;i++){
if (form.UserName[i].selected){
for(var j=0;j<form.UserNameSel.length;j++){
if(form.UserNameSel[i].value!=form.UserName[i].value){
form.UserNameSel.options[form.UserNameSel.length] = new Option(form.UserName.options[i].text,form.UserName.options[i].value)
}
}
}
}
}
也就是在你的if里面循环判断,就是有点浪费
数据多可能速度慢
zhuqm 2004-09-23
  • 打赏
  • 举报
回复
function AddValue(form){
for(var i=0;i<form.UserName.length;i++){
if (form.UserName[i].selected){

}
}
}
ronanlin 2004-09-23
  • 打赏
  • 举报
回复
我只需要判断是否存在,如果存在的话,就不用添加,把不存在的添加就行。
以你的程序,如果排在前面的有重复,后面的就添加不了(因为是可以多选的)
ronanlin 2004-09-23
  • 打赏
  • 举报
回复
以上你的判断有个bug哦。。
我的列表框是可以进行多选的。。
zltostem 2004-09-23
  • 打赏
  • 举报
回复
<script language="javascript">
<!--
function fncadd(v,t)
{
var o1 = document.all.s1;
var o2 = document.all.s2;
var f;
for(var i=0;i<o2.length;i++)
{
if(o2[i].text == t)
{
f='1';
alert('有重复内容,不添加!');
}
}
if(f != '1') s2.options.add(new Option(t,v));
}
//-->
</script>

<select name=s1 onchange="fncadd(this.value,this.options[this.selectedIndex].text);">
<option>a1
<option>a2
<option>a3
</select>
<select name=s2>
<option>b1
<option>a2
<option>b3
</select>
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-09-23 09:31
社区公告
暂无公告