WZHU's BLOG
HEAD
- 有一种精神,叫"公诚勤朴"
Recent Posts
- Subversion 强制用户写备注(日志)才能提交.
- Linux 时间服务器同步命令
- PHP修改 LDAP用户密码程序
- Subversion安装与配置
- 我的Subversion使用LDAP认证之Apache配置实例
- HTTP协议(RFC2616)中的方法定义
- 我的HTTP Client 模拟PHP Class
- 我所使用的PHP图形验证码程序.
- DNS Bind9 配置实例
- (联合早报)中国社会信任的解体及其结果(转)
- Linux+Apache+MySQL+PHP 安装配置(三)——freeType,libpng,jpeg,gd,mcrypt,mhash,imap,PHP安装
- Linux+Apache+MySQL+PHP 安装配置(二)—— Apache安装
- Linux+Apache+MySQL+PHP 安装配置(一)—— MySQL安装
- 甲型H1N1流感防病要诀!
- cron 用法说明
Recent Comments
挣点外快
JavaScript List Class
作者: wzhu 时间: 2008-10-15 16:21:12
以前写的一个可以左右移动JavaScript List, 删除,添加,修改列表值.程序比较简单, 以后有时间再慢慢优化, 先发上来,演示效果如下
| 文本: 数值: | |
主要Javascript代码如下
/**
===========================================================
list.js
Author: wzhu
Email: wzhu.email#gmail.com
First 2007/08/28
Modify
Last
Copyright © 2006-2008
China. All Rights Reserved.
===========================================================
*/
//<![CDATA[
function List()
{
this.m_OL;
this.setObjectById = function(id){
this.m_OL = document.getElementById(id);
}
this.addOption = function( txt, val ){
if( txt instanceof Array &&
val instanceof Array &&
txt.length == val.length )
{
for( var i = 0; i < txt.length; i++){
var o = document.createElement("option");
var t = document.createTextNode(txt[i]);
o.setAttribute("value", val[i]);
o.appendChild(t);
this.m_OL.appendChild(o);
}
}else if( txt.trim() != "" && val.trim() != ""){
var o = document.createElement("option");
var oc = document.createTextNode(txt);
o.setAttribute("value", val);
o.appendChild(oc)
this.m_OL.appendChild(o);
}
}
this.removeOption= function(){
var l = this.m_OL.length;
if(-1 == l){
return;
}
for(var i=l-1; i >= 0 ; i--){
var o = this.m_OL.options[i];
if( o && o.selected == true){
this.m_OL.removeChild(o);
}
}
}
this.removeAllOption= function(){
/*
var l = this.m_OL.length;
if(-1 == l){
return;
}
for(var i=l-1; i >= 0 ; i--){
this.m_OL.removeChild( this.m_OL.options[i] );
}
//*/
while ( this.m_OL.hasChildNodes() ){
this.m_OL.removeChild( this.m_OL.firstChild );
}
}
this.changeOption= function(txt, val){
var l = this.m_OL.length;
if(-1 == l || txt.trim() == "" || val.trim() == ""){
return;
}
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true ){
o.setAttribute("value", val );
o.firstChild.data = txt;
}
}
}
this.getOptionValue = function(){
var l = this.m_OL.length;
if(-1 == l){
return false;
}
var val = new Array();
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true){
val.push(o.getAttribute("value"));
}
}
return val;
}
this.getOptionText = function(){
var l = this.m_OL.length;
if(-1 == l){
return false;
}
var txt = new Array();
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true){
txt.push(o.firstChild.data);
}
}
return txt;
}
this.selectAll = function(){
var l = this.m_OL.length;
for(var i=0; i < l; i++){
this.m_OL.options[i].selected = true;
}
}
this.sort = function(){
var l = this.m_OL.length;
for (var i=0; i < l-1; i++){
for( var j = i+1; j < l; j++ ){
var oi = this.m_OL.options[ i ];
var oj = this.m_OL.options[ j ];
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 move( f, t){
var of = new List();
var ot = new List();
of.setObjectById( f );
ot.setObjectById( t );
ot.addOption( of.getOptionText(), of.getOptionValue() );
of.removeOption();
ot.sort();
}
function change(){
var o = new List();
o.setObjectById( "one" );
o.changeOption( document.getElementById("o_t").value, document.getElementById("o_v").value );
o.sort();
}
function del(){
var o = new List();
o.setObjectById( "one" );
o.removeOption();
}
function add(){
var o = new List();
o.setObjectById( "one" );
o.addOption( document.getElementById("o_t").value, document.getElementById("o_v").value );
o.sort();
}
function s(){
var o = new List();
o.setObjectById( "two" );
o.selectAll();
}
//]]>
===========================================================
list.js
Author: wzhu
Email: wzhu.email#gmail.com
First 2007/08/28
Modify
Last
Copyright © 2006-2008
China. All Rights Reserved.
===========================================================
*/
//<![CDATA[
function List()
{
this.m_OL;
this.setObjectById = function(id){
this.m_OL = document.getElementById(id);
}
this.addOption = function( txt, val ){
if( txt instanceof Array &&
val instanceof Array &&
txt.length == val.length )
{
for( var i = 0; i < txt.length; i++){
var o = document.createElement("option");
var t = document.createTextNode(txt[i]);
o.setAttribute("value", val[i]);
o.appendChild(t);
this.m_OL.appendChild(o);
}
}else if( txt.trim() != "" && val.trim() != ""){
var o = document.createElement("option");
var oc = document.createTextNode(txt);
o.setAttribute("value", val);
o.appendChild(oc)
this.m_OL.appendChild(o);
}
}
this.removeOption= function(){
var l = this.m_OL.length;
if(-1 == l){
return;
}
for(var i=l-1; i >= 0 ; i--){
var o = this.m_OL.options[i];
if( o && o.selected == true){
this.m_OL.removeChild(o);
}
}
}
this.removeAllOption= function(){
/*
var l = this.m_OL.length;
if(-1 == l){
return;
}
for(var i=l-1; i >= 0 ; i--){
this.m_OL.removeChild( this.m_OL.options[i] );
}
//*/
while ( this.m_OL.hasChildNodes() ){
this.m_OL.removeChild( this.m_OL.firstChild );
}
}
this.changeOption= function(txt, val){
var l = this.m_OL.length;
if(-1 == l || txt.trim() == "" || val.trim() == ""){
return;
}
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true ){
o.setAttribute("value", val );
o.firstChild.data = txt;
}
}
}
this.getOptionValue = function(){
var l = this.m_OL.length;
if(-1 == l){
return false;
}
var val = new Array();
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true){
val.push(o.getAttribute("value"));
}
}
return val;
}
this.getOptionText = function(){
var l = this.m_OL.length;
if(-1 == l){
return false;
}
var txt = new Array();
for(var i=0; i < l; i++){
var o = this.m_OL.options[ i ];
if( o && o.selected == true){
txt.push(o.firstChild.data);
}
}
return txt;
}
this.selectAll = function(){
var l = this.m_OL.length;
for(var i=0; i < l; i++){
this.m_OL.options[i].selected = true;
}
}
this.sort = function(){
var l = this.m_OL.length;
for (var i=0; i < l-1; i++){
for( var j = i+1; j < l; j++ ){
var oi = this.m_OL.options[ i ];
var oj = this.m_OL.options[ j ];
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 move( f, t){
var of = new List();
var ot = new List();
of.setObjectById( f );
ot.setObjectById( t );
ot.addOption( of.getOptionText(), of.getOptionValue() );
of.removeOption();
ot.sort();
}
function change(){
var o = new List();
o.setObjectById( "one" );
o.changeOption( document.getElementById("o_t").value, document.getElementById("o_v").value );
o.sort();
}
function del(){
var o = new List();
o.setObjectById( "one" );
o.removeOption();
}
function add(){
var o = new List();
o.setObjectById( "one" );
o.addOption( document.getElementById("o_t").value, document.getElementById("o_v").value );
o.sort();
}
function s(){
var o = new List();
o.setObjectById( "two" );
o.selectAll();
}
//]]>
相关评论