<!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##开发##@';
οnlοad=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.οnchange=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.οnchange=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>