浏览 5429 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间: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> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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--; } } |
|
返回顶楼 | |
发表时间:2009-03-01
这个性能如何啊?如果有600条数据以上,不知道能什么好的方法解决性能问题。
|
|
返回顶楼 | |