function moveOption(e1, e2){
var right = true;
var es = [];
for(var i =0;i<e2.length;i++){
es[i]=e2.optionsp[i].value;
}
for(var i = 0;i<e1.length;i++){
if(e1.options[i].selected){
for(var k =0;k<es.length;k++){
if(es[k]==e1.options[i].value)
{
right=false;
break;
}
}
if(right)
{
e2.options.add(new Option(e1.options[i].text, e1.options[i].value));
}
}
}
}
自己改了下,我先把列表2的值循环给数组es,然后当列表1的值被选后和数组es的值循环比较,可这次结果是只能移动一次值,无论第二次移动列表1中哪个,都无法在列表2中显示。。愁死我了我再继续自己想,也等待哪位朋友可以帮忙,虽然小问题,但也把我难住了,哎。
var right = true;
var es = [];
for(var i =0;i<e2.length;i++){
es[i]=e2.optionsp[i].value;
}
for(var i = 0;i<e1.length;i++){
if(e1.options[i].selected){
for(var k =0;k<es.length;k++){
if(es[k]==e1.options[i].value)
{
right=false;
break;
}
}
if(right)
{
e2.options.add(new Option(e1.options[i].text, e1.options[i].value));
}
}
}
}
自己改了下,我先把列表2的值循环给数组es,然后当列表1的值被选后和数组es的值循环比较,可这次结果是只能移动一次值,无论第二次移动列表1中哪个,都无法在列表2中显示。。愁死我了我再继续自己想,也等待哪位朋友可以帮忙,虽然小问题,但也把我难住了,哎。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货