喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: [原创] List JavaScript  
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47784
帖子 1555
金钱 47761 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
List JavaScript

源码如下

<?php
<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<
head>
<
title>List</title>
<
meta http-equiv="Content-Language" content="zh-CN" />
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<
meta name="Copyright" content="Copyright" />
<
meta name="author" content="wzhu" />
<
meta name="description" content="description" />
<
meta name="keywords" content="keywords" />
</
head>

<
body>

<
table>
    <
tr>
        <
td>
            <
select id="one" size="10" multiple="multiple" style="width:150px">
            <
option value="AAAAA">AAAAA</option>
            <
option value="BBBBB">BBBBB</option>
            <
option value="CCCCC">CCCCC</option>
            <
option value="DDDDD">DDDDD</option>
            <
option value="EEEEE">EEEEE</option>
            <
option value="FFFFF">FFFFF</option>
            <
option value="GGGGG">GGGGG</option>
            </
select>
            <
br />
            <
input type="text" id="o_t" /><br />
            <
input type="text" id="o_v" /><br />
            <
input type="button" onclick="change()" value="Chage"/>
            <
input type="button" onclick="add()" value="Add"/>
            <
input type="button" onclick="del()" value="Delete"/>
            <
input type="button"  onclick="sort('one')" value="Sort"/>
        </
td>
        <
td>
            <
input type="button"  onclick="move('one','two')" value=">>>>>>"/><br />
            <
input type="button"  onclick="move('two', 'one')" value="<<<<<<"/>
        </
td>
        <
td>
            <
select id="two" size="10" multiple="multiple" style="width:150px">
            </
select>
            <
br />
            <
input type="button"  onclick="s()" value="Select ALL"/>
            <
input type="button"  onclick="sort('two')" value="Sort"/>
        </
td>
    </
tr>
</
table>



<
br />

<
script type="text/javascript">
/**
===========================================================
    list.js 
    Author:    wzhu
    Email:    [email]wzhu.email@gmail.com[/email]
    First    2007/08/28
    Modify    
    Last    

    Copyright 息 2006-2008 
    China. All Rights Reserved. 

===========================================================
*/
//<![CDATA[


String.prototype.trim = function(){
    return 
this.replace(/^s*|s*$/g"");
}
function List()
{
    
this.m_OL;

    
this.setObjectById = function(id){
        
this.m_OL document.getElementById(id);
    }

    
this.addOption = function( txtval ){
        if( 
txt instanceof Array && 
            
val instanceof Array && 
            
txt.length == val.length )
        {            
            for( var 
0txt.lengthi++){
                var 
document.createElement("option");
                var 
document.createTextNode(txt[i]);
                
o.setAttribute("value"val[i]);
                
o.appendChild(t);
                
this.m_OL.appendChild(o);
            }
        }else if( 
txt.trim() != "" && val.trim() != ""){
            var 
document.createElement("option");
            var 
oc document.createTextNode(txt);
            
o.setAttribute("value"val);
            
o.appendChild(oc)
            
this.m_OL.appendChild(o);
        }
        
this.sort();
    }
    

    
this.removeOption= function(){
        var 
this.m_OL.length;
        if(-
== l){
            return;
        }
        for(var 
i=l-1>= i--){
            var 
this.m_OL.options[i];
            if( 
&& o.selected == true){
                
this.m_OL.removeChild(o);
            }
        }
    }

    
this.changeOption= function(txtval){
        var 
this.m_OL.length;
        if(-
== || txt.trim() == "" || val.trim() == ""){
            return;
        }
        for(var 
i=0li++){
            var 
this.m_OL.options];
            if( 
&& o.selected == true ){
                
o.setAttribute("value"val );
                
o.firstChild.data txt;
            }
        }
        
this.sort();
    }

    
this.getOptionValue = function(){
        var 
this.m_OL.length;
        if(-
== l){
            return 
false;
        }
        var 
val = new Array();
        for(var 
i=0li++){
            var 
this.m_OL.options];
            if( 
&& o.selected == true){
                
val.push(o.getAttribute("value"));
            }
        }
        return 
val;
    }

    
this.getOptionText = function(){
        var 
this.m_OL.length;
        if(-
== l){
            return 
false;
        }
        var 
txt = new Array();
        for(var 
i=0li++){
            var 
this.m_OL.options];
            if( 
&& o.selected == true){
                
txt.push(o.firstChild.data);
            }
        }
        return 
txt;
    }

    
this.selectAll = function(){
        var 
this.m_OL.length;
        for(var 
i=0li++){
            
this.m_OL.options].selected true;
        }
    }

    
this.sort = function(){
        var 
this.m_OL.length;
        for (var 
i=0l-1i++){
            for( var 
i+1lj++ ){
                var 
oi this.m_OL.options];
                var 
oj this.m_OL.options];
                if( 
oi.firstChild.data.toString() > oj.firstChild.data.toString() )                {
                    var 
tt oi.firstChild.data
                    
var tv oi.getAttribute("value");
                    
oi.setAttribute"value"oj.getAttribute("value") );
                    
oi.firstChild.data oj.firstChild.data;
                    
oj.setAttribute"value"tv );
                    
oj.firstChild.data tt;
                    
/*
                    var o = oi;
                    oi = oj;
                    oj = o;
                    //*/
                
}
            }
        }
    }        
};

function 
moveft){
    var 
of = new List();
    var 
ot = new List();
    
of.setObjectById);
    
ot.setObjectById);
    
ot.addOptionof.getOptionText(), of.getOptionValue() );
    
of.removeOption();
}

function 
change(){
    var 
= new List();
    
o.setObjectById"one" );
    
o.changeOptiondocument.getElementById("o_t").valuedocument.getElementById("o_v").value );
}

function 
del(){
    var 
= new List();
    
o.setObjectById"one" );
    
o.removeOption();
}

function 
add(){
    var 
= new List();
    
o.setObjectById"one" );
    
o.addOptiondocument.getElementById("o_t").valuedocument.getElementById("o_v").value );
}

function 
s(){
    var 
= new List();
    
o.setObjectById"two" );
    
o.selectAll();
}

function 
sort){
    var 
obj = new List();
    
obj.setObjectById(o);
    
obj.sort();
}
// ] ]>
</script>
</body>
</html>
?>
demo如附件

[ 本帖最后由 wzhu 于 2007-8-28 04:13 PM 编辑 ]


 附件: 您所在的用户组无法下载或查看附件



<?wzhu
wzhu.print("This is a wzhu language");
?>
2007-8-28 03:55 PM#1
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47784
帖子 1555
金钱 47761 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
[推荐阅读] 如何提交联动菜单的值??
谁知道注释部分的为什么不行啊?



<?wzhu
wzhu.print("This is a wzhu language");
?>
2007-8-28 06:33 PM#2
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
phphp
版主
Rank: 7Rank: 7Rank: 7
加班一族


UID 65188
精华 1
积分 178
帖子 3001
金钱 167 喜悦币
威望 10
人脉 1
阅读权限 100
注册 2005-7-20
来自 北京市海淀区
状态 离线
[推荐阅读] 北京诚请高级PHP开发工程师
oi,oj不是引用吧,
if( oi.value > oj.value) {
    this.m_OL.options[ i ] = new Option(oj.text, oj.value);
    this.m_OL.options[ j ] = new Option(oi.text, oi.value);         
}




书到用时方恨少, 事非经过不知难
2007-9-2 02:33 PM#3
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 关于PHP中模糊查询like的问题,在线求解
当KEY是
g
gg
ggg
gggg
ggggg
的时候,chage会出错。




五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2007-9-4 03:11 AM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47784
帖子 1555
金钱 47761 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
[推荐阅读] php防止使用推广地址刷新


QUOTE:
原帖由 qh663 于 2007年9月4日 03:11 发表
当KEY是
g
gg
ggg
gggg
ggggg
的时候,chage会出错。
这个是网上的DEMO
http://www.cncmm.com/demo/t3.html

没有你说的那个问题啊.




<?wzhu
wzhu.print("This is a wzhu language");
?>
2007-9-4 07:54 AM#5
查看资料  访问主页  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.049238 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP