- 爱易网页
-
JavaSript
- 删除所选的列表值,各位帮帮新人。该怎么解决
日期:2014-05-16 浏览次数:20334 次
删除所选的列表值,各位帮帮新人。。
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){