cFormSelect

发布时间: 2007-01-26 10:50    作者: 未知    来源: 未知    浏览:    评论

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<script type="text/javascript">
//<![CDATA[
 var str='4##网络编程##15##Flash##@4##网络编程##20##HTML##@4##网络编程##21##XML##@4##网络编程##22##ASP##@4##网络编程##23##JSP##@4##网络编程##24##PHP##@4##网络编程##25##CGI##@4##网络编程##26##.NET##@4##网络编程##27##Script##@4##网络编程##87##CSS##@4##网络编程##154##RegExp-正则##@4##网络编程##191##Java  ##@4##网络编程##192##Perl  ##@4##网络编程##207##Ajax##@4##网络编程##209##XHTML##@4##网络编程##217##书##@4##网络编程##225##shtml##@4##网络编程##226##安全信息##@4##网络编程##227##RBAC/权限设计##@4##网络编程##232##JScript/Server-Side##@4##网络编程##239##DOM##@4##网络编程##240##DHTML##@6##数据库##36##Access##@6##数据库##37##Oracle##@6##数据库##38##SQL Server##@6##数据库##39##MySQL##@6##数据库##208##ADO##@6##数据库##213##书##@6##数据库##218##Postgresql##@10##站点大事记##61##绿色进化 E-Studio_2004##@10##站点大事记##155##绿色学院 - Green Institute_2006##@14##读书记##177##文学手记##@14##读书记##178##文学札记##@14##读书记##220##IT-札记##@14##读书记##221##WSJ##@14##读书记##231##杂文##@14##读书记##234##优美歌词/诗词##@23##海纳百川##12##办公软件##@23##海纳百川##13##网页制作##@23##海纳百川##14##图象处理##@23##海纳百川##88##服务器篇##@23##海纳百川##126##功能测试##@23##海纳百川##156##FromXoopsNewbb##@23##海纳百川##158##FromXoopsXphpbbi##@23##海纳百川##159##有容乃大##@23##海纳百川##160##FromXoopsGipbb##@23##海纳百川##161##FromXoopsGiss##@23##海纳百川##162##FromXoopsGiArticles##@23##海纳百川##166##FromXoopsNews##@23##海纳百川##167##FromPhpbbForum##@23##海纳百川##170##设计##@23##海纳百川##171##网站##@23##海纳百川##172##调查##@23##海纳百川##173##金融##@23##海纳百川##197##FromLeadBBS##@23##海纳百川##206##投稿/撰稿/征文##@23##海纳百川##219##操作系统/OS##@23##海纳百川##223##丛书##@50##技术记##127##开发-本站##@50##技术记##179##C##@50##技术记##180##Linux##@50##技术记##183##RegExp-正则表达式##@50##技术记##193##Javascript/Jscript##@50##技术记##194##SQL/数据库##@50##技术记##195##ASP##@50##技术记##196##HTML##@50##技术记##203##技术翻译##@50##技术记##210##技术趣味##@50##技术记##211##草稿箱##@50##技术记##212##WebServices##@50##技术记##214##CSS##@50##技术记##215##XHTML##@50##技术记##229##MS-SQL Server##@50##技术记##233##Javascript/Jscript(client-side)##@50##技术记##241##Ajax##@50##技术记##243##XML##@51##工具箱##64##实用链接##@51##工具箱##66##在线工具##@51##工具箱##71##配色方案##@51##工具箱##72##设计概念##@51##工具箱##175##行业常识##@51##工具箱##184##模板##@51##工具箱##204##基层工具##@51##工具箱##230##文件头/File Header##@56##英语角##96##基础资料##@56##英语角##198##英文/歌词&诗词##@56##英语角##199##英-英阅读##@56##英语角##200##英-汉阅读##@56##英语角##202##语法&写作##@57##程序设计##185##C语言##@57##程序设计##186##C++##@57##程序设计##187##C###@57##程序设计##188##VB##@57##程序设计##189##VF##@57##程序设计##190##Delphi##@59##人工智能##228##基础资料##@60##.Net##235##相关文摘##@60##.Net##236##C#/CSharp .net##@60##.Net##237##JScript .Net##@60##.Net##238##VB .net##@60##.Net##242##ASP.NET##@61##架构/概念##244##面向对象##@61##架构/概念##245##开发##@';
 
 onload=function(){
 
  var sle=new cFormSelect();
 
   sle.source=str;
   sle.delimiter='##';
   sle.marker='@';
   sle.idBase='level';
   sle.defaultSelect='23,159'; // select by value
   sle.queryString='id,idsub';
  
   sle.getItem();
  
   sle=null;
 }

 /*-----------------------------------------------------------------------------------*\
  * shawl.qiu javascript 表单列表框联动类 v1.0
 \*-----------------------------------------------------------------------------------*/
 //---------------------------------begin class cFormSelect()-------------------------------//
 function cFormSelect(){ // shawl.qiu code
  //------------------------------------begin public variable
  //---------------begin about
  this.auSubject='shawl.qiu javascript 表单列表框联动类';
  this.auVersion='1.0';
  this.au='shawl.qiu';
  this.auEmail='shawl.qiu@gmail.com';
  this.auBlog='http://blog.csdn.net/btbtd';
  this.auCreateDate='2006-12-28';
  //---------------end about
  this.source='';          // 源字串
  this.sourceTemp='';
  this.delimiter='#';      // 列定界符
  this.marker='@';         // 行分界符
  this.idBase='level';     // 标签 ID 基准字串
  this.defaultSelect='';
  this.queryString='';
 
  this.item=0;
  this.count=1;
  //------------------------------------end public variable
 
  //------------------------------------begin public method
  this.getItem=function(){
   var sLcaStr=location.search;
   if(sLcaStr!=''){
    var arTemp=[];;
    if(tl.queryString!=''){
     tl.queryString.replace(/(.+?)(\,|$)/g,function($0,$1){
      //alert($1)
      var re=new RegExp($1+'\=([^\&\]+)');
       sLcaStr.replace(re,function($0,$1){
        arTemp[arTemp.length]=$1;
       });
       re=null;
     });
     tl.defaultSelect=arTemp.join(',');
    } // end if 2
   } // end if 1
  
   tl.item=fCkLevel(tl.source, tl.delimiter, tl.marker);
   fCreateOption(tl.source);
  } // end this.getItem
 
  this.onchange=function(oSle){
   var nId=oSle.id.replace(tl.idBase,'');
    tl.count=nId;
    fSelectOpt(tl.count);
  } // end this.onchange
  //------------------------------------end public method
 
  //------------------------------------begin private variable
  var tl=this;
  //------------------------------------end private variable
 
  //------------------------------------begin private method
 
  function fStrQryStr(sStr,sPrefix){
   if(!sPrefix) sPrefix='';
   if(!sStr) sStr=location.search;
   if(sStr.length==0)return false;
   sStr.replace(/([^\=\?\&]+)\=([^\&\=]+)/g,function($0,$1,$2){
    eval(sPrefix+$1+'=$2');
   });
  } // end function fStrQryStr(sStr,sPrefix)
 
  function fSelectOpt(nPsti){
   nPsti-=0;

   for(var i=nPsti+1; i<=tl.item; i++){
    var oSle=document.getElementById(tl.idBase+i);
     oSle.length=0;
 
   var sTemp='';
      
   var sOpt=fGetOptStr(tl.item, tl.delimiter);
   var oRe=new RegExp(sOpt+'(.*?'+tl.delimiter+'.*?'
    +tl.delimiter+')(.*?'+tl.marker+')','gi');
    
   tl.source.replace(oRe, function($0, $1, $2){
   // /(.*?\#.*?\#)(.*?\@{3}<br\/>)/gi
     sTemp+=$1;
     return $2;
   });

   sTemp=fStrClearRepeat(sTemp, tl.delimiter);
  
   var oRe=new RegExp('(.*?)'+tl.delimiter+'(.*?)'+tl.delimiter, 'gi');
  
   sTemp.replace(oRe,
    function($0, $1, $2){
     if(fGoSelect(tl.item, tl.defaultSelect, $1)){
      oSle.options[oSle.length]=new Option($2, $1, true, true);
     } else oSle.options[oSle.length]=new Option($2, $1);
   });

     oSle=null;
   } // end for 1
  } // end function fGoSelect
 
  function fCreateOption(sStr){
   if(tl.count>tl.item)return false;
  
   var oSle=document.getElementById(tl.idBase+tl.count);
    oSle.onchange=function(){
     tl.onchange(this);
    }
   var sText='';
   var sValue='';
   var sTemp='';
   if(tl.count==1){
    var oRe=new RegExp('(.*?'+tl.delimiter+'.*?'+tl.delimiter+')(.*?'+tl.marker+')','gi');
    sStr=sStr.replace(oRe, function($0, $1, $2){
    // /(.*?\#.*?\#)(.*?\@{3}<br\/>)/gi
      sTemp+=$1;
      return $2;
    });
   } else {
    var sOpt=fGetOptStr(tl.count, tl.delimiter);
    var oRe=new RegExp(sOpt+'(.*?'+tl.delimiter+'.*?'
     +tl.delimiter+')(.*?'+tl.marker+')','gi');
     
    tl.source.replace(oRe, function($0, $1, $2){
    // /(.*?\#.*?\#)(.*?\@{3}<br\/>)/gi
      sTemp+=$1;
      return $2;
    });
   } //end else 1
  
   //alert(sTemp)
   sTemp=fStrClearRepeat(sTemp, tl.delimiter);
  
   var oRe=new RegExp('(.*?)'+tl.delimiter+'(.*?)'+tl.delimiter, 'gi');
  
   sTemp.replace(oRe,
    function($0, $1, $2){
     if(fGoSelect(tl.count, tl.defaultSelect, $1)){
      oSle.options[oSle.length]=new Option($2, $1, true, true);
     } else oSle.options[oSle.length]=new Option($2, $1);
   });
  
    oSle=null;
  
   tl.count++;
   arguments.callee(sStr);
  } // end function fCreateOption(sStr);
 
  function fGoSelect(nPsti, sSle, sForCmp){
   if(sSle=='')return false;
   sSle=sSle.split(',');
   if(sSle[nPsti-1]==sForCmp) return true;
   return false;
  } // end function fGoSelect(nPsti, sSle, sForCmp)
 
  function fGetOptStr(nCount, sDelimiter){
   if(nCount<=1)return false;
   var sTemp='';
   for(var i=1; i<nCount; i++){
    var oSlePrnt=document.getElementById(tl.idBase+i);
     sTemp+=oSlePrnt.options[oSlePrnt.options.selectedIndex].value;
     sTemp+=sDelimiter;
     sTemp+=oSlePrnt.options[oSlePrnt.options.selectedIndex].innerHTML;
     sTemp+=sDelimiter;
     oSlePrnt=null;
   } // end for
   return sTemp;
  } // end function fGetOptStr(nCount, sDelimiter)
 
  function fCkLevel(sSrc, sDelimiter,sMarker){
   var num=0;
   var re=new RegExp('(.*?)'+sMarker);
   var re_=new RegExp(sDelimiter, 'g');
  
   sSrc.replace(re,function($0,$1){
    $1.replace(re_, function(m){
     num++;
    });
   });
   return num/2;
  } // end fCkLevel(sSrc, sDelimiter,sMarker);
 
  function fStrClearRepeat(sStr, sDelimiter){
   var iStr='';
   var re=new RegExp('.*?'+sDelimiter+'.*?'+sDelimiter, 'gi');
  
   sStr=sStr.replace(re,function(m){
    if(iStr.indexOf(m)==-1)
    iStr+=m;
    return '';
   });
   return iStr; // shawl.qiu code
  } // end function fStrClearRepeat(sStr, sDelimiter);
  //------------------------------------end private method
 } // shawl.qiu code
 //---------------------------------end class cFormSelect()---------------------------------//
//]]>
</script>
</head>
<body>
<select name='super' id='level1'>

</select>
<select name='sub' id='level2'>

</select>
<br/><a href="?">back</a><br/>
<a href="?id=4&idsub=26">4&26</a><br/>
<a href="?id=23&idsub=159">23&159</a><br/>
<a href="?id=50&idsub=127">50&127</a><br/>
<a href="?id=51&idsub=66">51&55</a><br/>
</body>
</html>



TAG

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多