//不知道樓主的oneinput 變量的用意,但是下面的代碼可以實現你的效果不?
//------------------------------------------------------------------------------------------<script language="JavaScript">
<!--
function selecting()
{
//获得可选select 列表
var beforselect = document.all.beforchoose;
//获得未选的select 列表
var afterchoose = document.all.afterchoose; //获得选中的属性和对应的值
var selectedvalue = beforselect[beforselect.selectedIndex].value;
var selectedtext = beforselect[beforselect.selectedIndex].text; //通过选中的选项创建一个option对象
var objOption = new Option(selectedtext,selectedvalue);
for(var j = 0; j <afterchoose.length;j++)
{
if(selectedvalue == afterchoose[j].value)
{
return ;
}
}
afterchoose.options.add(objOption);
}
//-->
</script>
//------------------------------------------------------------------------------------------<script language="JavaScript">
<!--
function selecting()
{
//获得可选select 列表
var beforselect = document.all.beforchoose;
//获得未选的select 列表
var afterchoose = document.all.afterchoose; //获得选中的属性和对应的值
var selectedvalue = beforselect[beforselect.selectedIndex].value;
var selectedtext = beforselect[beforselect.selectedIndex].text; //通过选中的选项创建一个option对象
var objOption = new Option(selectedtext,selectedvalue);
for(var j = 0; j <afterchoose.length;j++)
{
if(selectedvalue == afterchoose[j].value)
{
return ;
}
}
afterchoose.options.add(objOption);
}
//-->
</script>
function selecting() { //获得可选select 列表
var beforselect = document.all.beforchoose;
//获得未选的select 列表
var afterchoose = document.all.afterchoose;
//获得选中的属性和对应的值
var selectedvalue = beforselect[beforselect.selectedIndex].value;
var selectedtext = beforselect[beforselect.selectedIndex].text;
//通过选中的选项创建一个option对象
var objOption = new Option(selectedtext,selectedvalue);
if(oneinput){
afterchoose.options[afterchoose.length - 1] = objOption;
oneinput = false;
}
else {
//你这个地方逻辑判断有问题,需要遍历以后才可能知道是否已选,你每次循环就比较,就新增一个,肯定有问题
//还有,你的oneinput这个感觉有些怪异,为什么你不直接取afterchoose.options.length 来判断是不是第一次加载呢?
//还有,你的代码可读性太差了,还是应该注意代码的整洁性
var j = 0
for(; j <afterchoose.length;j++) if(selectedvalue == afterchoose[j].value) break;
if(j>=afterchoose.length) afterchoose.options[afterchoose.length] = objOption;
}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type='text/javascript'>
function add(){
var s = document.getElementById('t');
s.add(new Option('2','3'));
}
</script>
</HEAD> <BODY>
<select id=t>
<option value=1>1</option>
</select>
<input type='button' value=add onclick='add()'/>
</BODY>
</HTML>
s.options.add(new Option('2','3'));都可以