首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

删除所选的列表值,各位帮帮新人。该怎么解决

2012-02-08 
删除所选的列表值,各位帮帮新人。。functionmoveOption(e2){for(vari0i e2.lengthi++){if(e2.options[i]

删除所选的列表值,各位帮帮新人。。
function       moveOption(e2){      
                    for(var   i   =   0;i <e2.length;i++){
                      if(e2.options[i].selected){
    e2.options.remove(i);    
}
}  
}
<input   type= "button "   name= "sub "   value= " < < "   onClick= "moveOption(this.form.list2) ">
<select   name= "list1 "   size= "5 "   multiple   id= "list2 "   >
                        <option   value= "1 "> 1 </option>
                        <option   value= "2 "> 2 </option>
                        <option   value= "3 "> 3 </option>
                        <option   value= "4 "> 4 </option>
                        <option   value= "5 "> 5 </option>

我想在列表list2中,选定多个值,然后删除所选的值。我用上面的代码,每次都删除不完,比如我选的是1,2,3,4。点删除后,1和3被删除了,2和4还在。继续点删除,2被删除了,4还在,继续再点才可以把4删除。请问怎么改才能好使啊?新手,请各位帮帮忙。。。  
     
                   


[解决办法]
<table>
<tr>
<td>
<select id= "ls " multiple NAME= "ls ">
<option value=8> 8 </option>
<option value=6> 6 </option>
<option value=4> 4 </option>
<option value=12> 12 </option>
</select>
</td>
<td valign=middle>
<input type=button value= "-> " id=btnR onclick= "selMove( 'R ') "> <br/>
<input type=button value= " <- " id= "btnL " onclick= "selMove( 'L ') ">
</td>
<td>
<select id= "rs " multiple NAME= "rs ">
</select>
</td>
</tr>
</table>


<script language=javascript>

function selMove(flag)
{
// 根据flag判断是向左(L)还是向右移动(R)
var fromObj = (flag== 'R '?ls:rs);
var toObj = (fromObj.id== "ls "?rs:ls);
var selArr = [];

for(var i=fromObj.options.length-1;i> =0;i--)// 对源列表做一个遍历
{
if(fromObj.options[i].selected) // 判断选项是否被选中
{
selArr.push(fromObj.options[i].value); //将选中项存进数组
fromObj.options.remove(i);
}
}


for(var i=toObj.options.length-1;i> =0;i--)// 对目标列表做一个遍历
{selArr.push(toObj.options[i].value);} //将所有存进数组

selArr.sort(function(a,b){return a-b}); //排序

for(var i=0;i <selArr.length;i++)
{
var op = new Option(selArr[i],selArr[i]);
//op.selected = true;
toObj.options[i]=op;
}
}
</script>

[解决办法]
function moveOption(e2){

for(var i = e2.length - 1;i> = 0;i--){
if(e2.options[i].selected){
e2.options.remove(i);


}
}
}

热点排行