浏览 627 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-02
2个select之间的移动,分单个移动和全部移动,
具体情况如下: 样式如下(类似而已,呵呵): a k b >> l c m d > e f << g h < i
<script language="javascript">
function add(){
var opt=selectfrom.options;
len=opt.length;
for(i=len-1;i>-1;i--){
if(opt[i].selected){
select2.appendChild(opt[i]);
}
}
}
function addAll(){
var opt=selectfrom.options;
len=opt.length;
for(i=len-1;i>-1;i--){
select2.appendChild(opt[i]);
}
}
function del(){
var opt=select2.options;
len=opt.length;
for(i=len-1;i>-1;i--){
if(opt[i].selected){
selectfrom.appendChild(opt[i]);
}
}
}
function delAll(){
var opt=select2.options;
len=opt.length;
for(i=len-1;i>-1;i--){
selectfrom.appendChild(opt[i]);
}
}
</script>
<body>
<table width="27%" height="194" border="0" cellpadding="1" cellspacing="0">
<tr>
<td width="21%"><select id="selectfrom" size="15" multiple="multiple" style="width:100px">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
<option>e</option>
<option>f</option>
<option>g</option>
<option>h</option>
<option>i</option>
<option>j</option>
<option>k</option>
<option>j</option>
<option>m</option>
<option>n</option>
</select></td>
<td width="57%"><p align="center">
<input name="addAll" type="button" id="addAll" value=" >> " style="width:40px" onclick="addAll()"/>
</p>
<p align="center">
<input name="add" type="button" id="add" style="width:40px" value=" > " onclick="add()"/>
</p>
<p align="center">
<input name="del" type="button" id="del" value=" < " style="width:40px" onclick="del()"/>
</p>
<p align="center">
<input name="delAll" type="button" id="delAll" value=" << " style="width:40px" onclick="delAll()"/>
</p></td>
<td width="22%"><select id="select2" size="15" multiple="multiple" style="width:100px">
</select></td>
</tr>
</table>
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-04-29
问个问题,那你的add方法做例子,select2.appendChild(opt[i]); 以后就添加到了select2,这没有问题,但是 selectfrom.options[i]没有remove,那为什么左边的被选中的自己消失了呢?
|
|
| 返回顶楼 | |
|
时间:2008-04-29
全部增加,全部删除会倒序添加,感觉不是特别好,故改了一下
function addAll(){ var opt=selectfrom.options; len=opt.length; for(i=0;i<len;i++){ select2.appendChild(opt[0]); } } function delAll(){ var opt=select2.options; len=opt.length; for(i=0;i<len;i++){ selectfrom.appendChild(opt[0]); } } |
|
| 返回顶楼 | |
|
时间:2008-04-30
正序需要在for循环中加个i--
function addAll(){ var opt=selectfrom.options; len=opt.length; for(i=0;i<len;i++){ select2.appendChild(opt[0]); i--; } } |
|
| 返回顶楼 | |


