惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

博客园 - 溶入海洋中的雨滴

ADO Entities Framework不对多表查询进行优化? case when遇上null值 【转】C#正则表达式整理备忘 【摘】UI设计中对比色颜色的选取 JavaScript中的正则表达式解析 JavaScript正则表达式exec和test方法实例! - 溶入海洋中的雨滴 - 博客园 用js实现用回车键、ctrl键在文本框导航 [原]无刷新三级连动用户控件 c#批量插入数据到数据库【支持事务操作】 SQL:定时作业的设置方法 【转】c#用柱形图、折线图和饼形图展示数据 【原】css设置布局时,尽量天上背景色 【原】JS控制控件的显示,你选择display还是visibilty [转]数据库设计14个技巧 【转】sql查询性能调试,用SET STATISTICS IO和SET STATISTICS TIME 【原】winform定制datagrid模板 【原】winform高效导出Excel带格式设置 【原】让3层下的objectDatasource,支持griedview不写代码具备编辑功能 推荐一个可以下.net电子书的论坛
【原】js实现2个listbox的乾坤大挪移
溶入海洋中的雨滴 · 2008-01-24 · via 博客园 - 溶入海洋中的雨滴

参考网上的代码,作了些修改,操作更简单。话不多説,看代码:(此方法同样适用于select,毕竟listBox在客户端就时一个select)

<script language="javascript" type="text/javascript">
        
        function AddAll(lsbSource,ltbDestination)
        
{
            var lst1
=window.document.getElementById(lsbSource);            
            var length 
= lst1.options.length;
             
if(length<=0)
                
return;
            var opNum
=0;
            var lst2
=window.document.getElementById(ltbDestination);
            
for(var i=length;i>0;i--)
            
{                  
                var v 
= lst1.options[i-1].value;
                var t 
= lst1.options[i-1].text; 
                lst2.options[opNum]
= new Option(t,v,true,true);
                lst1.options[i
-1].parentNode.removeChild(lst1.options[i-1]);     
                opNum
++;            
            }
    
        }

        
        function AddOne(lsbSource,ltbDestination)
        
{
            var lst1
=window.document.getElementById(lsbSource);
            var lstindex
=lst1.selectedIndex;           
            
if(lstindex<0)
                
return;
        var v 
= lst1.options[lstindex].value;
            var t 
= lst1.options[lstindex].text;            
        var lst2
=window.document.getElementById(ltbDestination);
            var length 
= lst2.options.length;
            lst2.options[length] 
= new Option(t,v,true,true);
            lst1.options[lstindex].parentNode.removeChild(lst1.options[lstindex]);
        }

 
</script>

==================================

页面部分

注意:这种方式添加的Listitem是不能在服务器端获取值的,因为ListBox在客户端是解释成了Select来的,以上所有操作都不能保存在页面的ViewState中。如果要取得ListBox中新增加的值,我的做法是在页面提交时,用js取出ListBox中的值,然后保存在一个隐藏域里来解决这个问题的。如果你有更好的方法,欢迎留下学习~~