现在的位置: 首页 > 综合 > 正文

shawl.qiu javascript 表单列表框联动类 v1.3 (支持无限级联动)

2012年11月12日 ⁄ 综合 ⁄ 共 16445字 ⁄ 字号 评论关闭

shawl.qiu javascript 表单列表框联动类 v1.3  (支持无限级联动)

说明:

 相关版本:
1.0 shawl.qiu javascript 表单列表框联动类 v1.0  (支持无限级联动)
http://blog.csdn.net/btbtd/archive/2006/12/29/1468163.aspx

1.1 没发布

1.2 shawl.qiu javascript 表单列表框联动类 v1.2
http://blog.csdn.net/btbtd/archive/2007/01/12/1481562.aspx

这次升级主要是改写核心代码, 减少不必要的判断, 调用也改写了, 1.3 无法兼容旧版本, 换句说就是全新的版本...

内容格式为:
id列分界符name列分界符id列分界符name行分界符
如:
id##name##id##name##@

内容获取可以使用:
Asp Ado RecordSet GetString 函数 快速获取, 下面是 asp/vbs && asp/jscript GetString 函数:

asp/vbs

  1. <%
  2.  dim MyConn 
  3.  MyConn = "Provider=Microsoft.Jet.OLEDB.4.0;persist security info=false;Data source="&Server.MapPath("/Data/data.mdb")
  4.  
  5.  dim MyStr 
  6.  MyStr = fGetString1("select * from v_news_cat", MyConn)
  7.  
  8.  'Response.write("var str='"&MyStr&"'"&chr(13))
  9.  
  10.  function fGetString1(sQuery, sConn)
  11.    fGetString1 = fGetString(sQuery, sConn, -1, "##", "##@", "empty...")
  12.  end function
  13.  
  14.  function fGetString(sQuery, sConn, iRos, sColDelimeter, sRowDelimeter, sNull)
  15.   dim str, Rs
  16.   set Rs = CreateObject("adodb.recordset")
  17.    Rs.Open sQuery, sConn, 1
  18.    str = rs.GetString(2, iRos, sColDelimeter, sRowDelimeter, sNull)
  19.    Rs.Close
  20.   set Rs = Nothing
  21.   fGetString = str
  22.  end function
  23. %>

asp/jscript

  1. <% 
  2.  var MyMenuStr = fGetString("select * from v_cat_query_3tbl", conn);
  3.  
  4.  //Response.Write(MyMenuStr);
  5.  
  6.  function fGetString(sQuery, sConn, iRow, sColumnDelimeter, sRowDelimeter, sNullStr)
  7.  {// shawl.qiu code
  8.   var MyRs = null;
  9.   var bClose = true;
  10.   var sReturn = "";
  11.   
  12.   if(!iRow) iRow = -1;
  13.   if(!sColumnDelimeter) sColumnDelimeter = "##";
  14.   if(!sRowDelimeter) sRowDelimeter = "##@";
  15.   if(!sNullStr) sNullStr = "";
  16.   
  17.   if(typeof(sQuery)=="object") 
  18.   {
  19.    MyRs = sQuery;
  20.    bClose = false;
  21.   }
  22.   else
  23.   {
  24.    MyRs = new ActiveXObject("adodb.recordset");
  25.    MyRs.Open(sQuery, sConn, 1);
  26.   }
  27.   
  28.    sReturn = MyRs.GetString(2, iRow, sColumnDelimeter, sRowDelimeter, sNullStr);
  29.   
  30.   if(bClose)
  31.   {
  32.    MyRs.Close();
  33.    MyRs = null;
  34.   }
  35.   
  36.   return sReturn;
  37.  } // end function fGetString
  38. %>

目录:
1. 调用演示
2. Select_v1-3 核心源码

shawl.qiu
2007-05-30
http://blog.csdn.net/btbtd

下载:  http://shawl.qiu.googlepages.com/sq_js_select_v1-3.7z

演示:
二级分类:  http://shawl.qiu.googlepages.com/Select_v1-3_2level.htm
三级分类:  http://shawl.qiu.googlepages.com/Select_v1-3_3level.htm

内容:
1. 调用演示

  1. shawl.qiu framework javascript client-side
  2. Class Select v1.3
  3. ---/------------------------------------------------------------------------------
  4. 目录:
  5. 1. 调用
  6. 1.1 二级类别调用
  7. 1.2 三级类别调用
  8. ---/---------------------------------------
  9. 内容:
  10. 1. 调用
  11. 1.1 二级类别调用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  12. <html xmlns="http://www.w3.org/1999/xhtml">
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  15. <title>shawl.qiu template</title>
  16. <script type="text/javascript" src="Select_v1-3.js"></script>
  17. <script type="text/javascript">
  18. //<![CDATA[
  19.  var catstr=
  20.  "23##海纳百川##219##操作系统/OS##@23##海纳百川##206##投稿/撰稿/征文##@23##海纳百川##223##丛书##@23##海纳百川##126##功能测试##@23##海纳百川##12##办公软件##@23##海纳百川##13##网页制作##@23##海纳百川##14##图象处理##@23##海纳百川##159##有容乃大##@23##海纳百川##156##FromXoopsNewbb##@23##海纳百川##158##FromXoopsXphpbbi##@23##海纳百川##160##FromXoopsGipbb##@23##海纳百川##161##FromXoopsGiss##@23##海纳百川##162##FromXoopsGiArticles##@23##海纳百川##166##FromXoopsNews##@23##海纳百川##197##FromLeadBBS##@23##海纳百川##88##服务器篇##@23##海纳百川##167##FromPhpbbForum##@23##海纳百川##170##设计##@23##海纳百川##171##网站##@23##海纳百川##172##调查##@23##海纳百川##173##金融##@50##技术记##214##CSS##@50##技术记##215##XHTML##@50##技术记##229##MS-SQL Server##@50##技术记##247##c#/.net##@50##技术记##243##XML##@50##技术记##241##Ajax##@50##技术记##233##Javascript/Jscript(client-side)##@50##技术记##195##ASP##@50##技术记##194##SQL/数据库##@50##技术记##183##RegExp-正则表达式##@50##技术记##193##Javascript/Jscript##@50##技术记##179##C##@50##技术记##127##开发-本站##@50##技术记##196##HTML##@50##技术记##180##Linux##@50##技术记##212##WebServices##@50##技术记##210##技术趣味##@50##技术记##203##技术翻译##@50##技术记##211##草稿箱##@14##读书记##231##杂文##@14##读书记##221##WSJ##@14##读书记##234##优美歌词/诗词##@14##读书记##220##IT-札记##@14##读书记##177##文学手记##@14##读书记##178##文学札记##@56##英语角##96##基础资料##@56##英语角##202##语法&写作##@56##英语角##198##英文/歌词&诗词##@56##英语角##200##英-汉阅读##@56##英语角##199##英-英阅读##@51##工具箱##204##基层工具##@51##工具箱##230##文件头/File Header##@51##工具箱##64##实用链接##@51##工具箱##66##在线工具##@51##工具箱##71##配色方案##@51##工具箱##72##设计概念##@51##工具箱##175##行业常识##@51##工具箱##184##模板##@59##人工智能##228##基础资料##@57##程序设计##185##C语言##@57##程序设计##186##C++##@57##程序设计##187##C###@57##程序设计##188##VB##@57##程序设计##189##VF##@57##程序设计##190##Delphi##@6##数据库##208##ADO##@6##数据库##213##书##@6##数据库##218##Postgresql##@6##数据库##36##Access##@6##数据库##37##Oracle##@6##数据库##38##SQL Server##@6##数据库##39##MySQL##@4##网络编程##248##多媒体##@4##网络编程##207##Ajax##@4##网络编程##209##XHTML##@4##网络编程##217##书##@4##网络编程##225##shtml##@4##网络编程##226##安全信息##@4##网络编程##227##RBAC/权限设计##@4##网络编程##232##JScript/Server-Side##@4##网络编程##249##SSI##@4##网络编程##240##DHTML##@4##网络编程##239##DOM##@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  ##@60##.Net##235##相关文摘##@60##.Net##242##ASP.NET##@60##.Net##238##VB .net##@60##.Net##236##C#/CSharp .net##@60##.Net##237##JScript .Net##@61##架构/概念##244##面向对象##@61##架构/概念##245##开发##@10##站点大事记##155##绿色学院 - Green Institute_2006##@10##站点大事记##61##绿色进化 E-Studio_2004##@"
  21.  ;
  22.   
  23.  onload=function(){
  24.  
  25.   var sle=new Select();
  26.    sle.Debug = true;
  27.    
  28.    //function fElementAdd(sId, sDefaultSelected, sQuerySelected, sAddtionText, sAddtionValue)
  29.    //sle.Element.Add("level1", 12, "level1", "无分类", "0");
  30.    sle.Element.Add("id1", 0, "level1",  "请选择分类", "0");
  31.    sle.Element.Add("id2", 999, "level2", "请选择分类", "0");
  32.    
  33.    sle.String = catstr;
  34.    
  35.    sle.Symbol.Column = "##";
  36.    sle.Symbol.Rows = "##@";
  37.    
  38.    sle.Go();
  39.    sle=null;
  40.    
  41.   fPutHrefInInnerHtml("AField");
  42.  }
  43.  
  44.  function fPutHrefInInnerHtml(EleContainerId)
  45.  {
  46.   if(typeof(EleContainerId)=="string")
  47.   {
  48.    EleContainerId = document.getElementById(EleContainerId);
  49.   }
  50.   if(EleContainerId==null)
  51.   {
  52.    alert("主域不能为 null!");
  53.    return;
  54.   }
  55.   
  56.   var ASet = EleContainerId.getElementsByTagName("a");
  57.   var iLen = ASet.length;
  58.   var iCount = 0;
  59.   while(iCount<iLen)
  60.   {
  61.    ASet[iCount].innerHTML = ASet[iCount].href;
  62.    iCount++;
  63.   }
  64.  } // end function fPutHrefInInnerHtml
  65. //]]>
  66. </script>
  67. </head>
  68. <body>
  69. <select name='cat1' id='id1'></select>
  70. <select name='cat2' id='id2'></select>
  71. <br/><a href="?">back</a><br/>
  72. <div id="AField">
  73.  <p/>
  74.  <a href="?level1=50&level2=193">id=1&idsub=12</a><br/>
  75.  <a href="?level1=59&level2=228">id=2&idsub=21</a><br/>
  76.  <a href="?level1=6&level2=218">id=3&idsub=32</a><br/>
  77. </div>
  78. </body>
  79. </html>
  80. 1.2 三级类别调用
  81. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  82. <html xmlns="http://www.w3.org/1999/xhtml">
  83. <head>
  84. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  85. <title>shawl.qiu template</title>
  86. <script type="text/javascript" src="Select_v1-3.js"></script>
  87. <script type="text/javascript">
  88. //<![CDATA[
  89.  var catstr=
  90.  "1##JScript##1##函数库##2##文件##@1##JScript##1##函数库##3##测试##@1##JScript##4##类库##6##数据操作##@1##JScript##9##prototype库######@1##JScript##16##模板库######@1##JScript##8##杂类######@1##JScript##14##函数收藏######@5##JavaScript##12##函数库######@5##JavaScript##11##类库######@5##JavaScript##39##枚举######@5##JavaScript##7##小工具######@5##JavaScript##43##模板库######@5##JavaScript##41##收藏######@7##VBScript##10##类库######@7##VBScript##18##函数库##7##文件函数##@15##ActionScript##34##函数库######@15##ActionScript##35##类库######@12##CSharp .Net##23##函数库##9##文件操作##@12##CSharp .Net##23##函数库##10##数据操作##@12##CSharp .Net##31##函数收藏######@12##CSharp .Net##29##控件库######@12##CSharp .Net##24##static 库######@12##CSharp .Net##22##类库######@12##CSharp .Net##32##名称空间######@12##CSharp .Net##40##开发小工具######@12##CSharp .Net##38##杂类######@12##CSharp .Net##27##模板库##8##数据绑定##@12##CSharp .Net##27##模板库##11##aspx 页模板##@12##CSharp .Net##27##模板库##12##ascx 页模板##@11##JScript .Net##20##函数库######@11##JScript .Net##21##类库######@10##Sql##15##Access######@10##Sql##33##MsSql######@10##Sql##36##数据表模板######@13##xhtml##25##普通应用######@13##xhtml##42##模板库######@14##xml##28##模板库######@9##CSS##13##导航######@9##CSS##17##模板库######@16##Utility##37##Server######@8##测试类##########@"
  91.  ;
  92.   
  93.  onload=function(){
  94.  
  95.   var sle=new Select();
  96.    sle.Debug = true;
  97.    
  98.    //function fElementAdd(sId, sDefaultSelected, sQuerySelected, sAddtionText, sAddtionValue)
  99.    //sle.Element.Add("level1", 12, "level1", "无分类", "0");
  100.    sle.Element.Add("id1", 0, "level1", "请选择分类", "0");
  101.    sle.Element.Add("id2", 0, "level2", "请选择分类", "0");
  102.    sle.Element.Add("id3", 0, "level3", "请选择分类", "0");
  103.    
  104.    sle.String = catstr;
  105.    
  106.    sle.Symbol.Column = "##";
  107.    sle.Symbol.Rows = "##@";
  108.    
  109.    sle.Go();
  110.    sle=null;
  111.    
  112.   fPutHrefInInnerHtml("AField");
  113.  }
  114.  
  115.  function fPutHrefInInnerHtml(EleContainerId)
  116.  {
  117.   if(typeof(EleContainerId)=="string")
  118.   {
  119.    EleContainerId = document.getElementById(EleContainerId);
  120.   }
  121.   if(EleContainerId==null)
  122.   {
  123.    alert("主域不能为 null!");
  124.    return;
  125.   }
  126.   
  127.   var ASet = EleContainerId.getElementsByTagName("a");
  128.   var iLen = ASet.length;
  129.   var iCount = 0;
  130.   while(iCount<iLen)
  131.   {
  132.    ASet[iCount].innerHTML = ASet[iCount].href;
  133.    iCount++;
  134.   }
  135.  } // end function fPutHrefInInnerHtml
  136. //]]>
  137. </script>
  138. </head>
  139. <body>
  140. <select name='cat1' id='id1'></select>
  141. <select name='cat2' id='id2'></select>
  142. <select name='cat3' id='id3'></select>
  143. <br/><a href="?">back</a><br/>
  144. <div id="AField">
  145.  <p/>
  146.  <a href="?level1=1&level2=4&level3=6">id=1&idsub=12</a><br/>
  147.  <a href="?level1=12&level2=23&level3=9">id=2&idsub=21</a><br/>
  148.  <a href="?level1=12&level2=27&level3=11">id=3&idsub=32</a><br/>
  149. </div>
  150. </body>
  151. </html>

2. Select_v1-3 核心源码

  1.  // shawl.qiu JavaScript Document
  2.  /*-----------------------------------------------------------------------------------*/
  3.   * shawl.qiu Javascript Select class v1.3
  4.  /*-----------------------------------------------------------------------------------*/
  5.  //---------------------------------begin class Select()-------------------------------//
  6.  function Select()
  7.  { // shawl.qiu code
  8.   //------------------------------------begin public variable
  9.   //---------------begin about
  10.   this.au = {}
  11.   this.au.Subject = "shawl.qiu Javascript Select class";
  12.   this.au.Version = "v1.3";
  13.   this.au.Name = "shawl.qiu";
  14.   this.au.Email = "shawl.qiu@gmail.com";
  15.   this.au.Blog = "http://blog.csdn.net/btbtd";
  16.   this.au.CreatedDate = "2006-12-28";
  17.   this.au.Update = {};
  18.   this.au.Update["1.1"] = "";
  19.   this.au.Update["1.2"] = "2007-1-12";
  20.   this.au.Update["1.3"] = "2007-5-29";
  21.   //---------------end about
  22.   
  23.   this.Debug = false;
  24.   
  25.   this.String = "";
  26.   
  27.   this.Element = {}
  28.   this.Element.Set = [];
  29.   this.Element.Add = fElementAdd;
  30.   
  31.   this.Symbol ={}
  32.   this.Symbol.Column = "##";
  33.   this.Symbol.Rows = "##@";
  34.   
  35.   this.GetItem = fGetItem;
  36.   //------------------------------------end public variable
  37.   
  38.   //------------------------------------begin private variable
  39.   var Tl = this;
  40.   var pElementLen = 0;
  41.   var pRowsSet = [];
  42.   //------------------------------------end private variable
  43.   
  44.   //------------------------------------begin public method
  45.   this.Go = fGo;
  46.   //------------------------------------end public method
  47.  
  48.   //------------------------------------begin private method
  49.   function fGo()
  50.   {
  51.    if(Tl.String=="")
  52.    {
  53.     alert("项内容不能为空!");
  54.     return;
  55.    }
  56.    
  57.    pElementLen = Tl.Element.Set.length;
  58.    
  59.    if(pElementLen === 0)
  60.    {
  61.     alert("元素不能为空!");
  62.     return;
  63.    }
  64.    
  65.    var StartTime = new Date();
  66.    
  67.    pRowsSet = Tl.String.split(Tl.Symbol.Rows);
  68.    
  69.    fGetItem(0);
  70.    
  71.    var EndTime = new Date();
  72.    var TimeSpan = EndTime-StartTime;
  73.    
  74.    if(Tl.Debug)
  75.    {
  76.     if(defaultStatus=="")
  77.     {
  78.      defaultStatus = "Select 耗时: "+TimeSpan+" 毫秒";
  79.     }
  80.     else
  81.     {
  82.      defaultStatus += "Select 耗时: "+TimeSpan+" 毫秒";
  83.     }
  84.    }
  85.   } // end function fGo
  86.   
  87.   function fGetItem(iLevel, sPrefix)
  88.   {
  89.    if(iLevel>pElementLen-1) return;
  90.    var iNextLevel = iLevel+1;
  91.    
  92.    var MyCallee = arguments.callee;
  93.    
  94.    if(iLevel===0)
  95.    {
  96.    
  97.     Tl.Element.Set[iLevel].options.length = 0; 
  98.    
  99.     ( // begin anonymous function
  100.      function()
  101.      {
  102.       var RowsSet = pRowsSet;
  103.       var iLen = RowsSet.length;
  104.       var iCount = 0;
  105.       var arItem = [];
  106.       
  107.       var reGetItem = new RegExp("^(.*?)"+Tl.Symbol.Column+"(.*?)"+Tl.Symbol.Column+"[//s//S]+")
  108.       
  109.       while(iCount<iLen)
  110.       {
  111.        arItem[iCount] = RowsSet[iCount].replace(reGetItem, "$1"+Tl.Symbol.Column+"$2");
  112.        iCount++;
  113.       }
  114.       
  115.       var sSelected = "";
  116.       if(Tl.Element.Set[0]["DefaultSelected"]!="")
  117.       {
  118.        sSelected = Tl.Element.Set[0]["DefaultSelected"];
  119.       }
  120.       
  121.       var bQueryMatch = false;
  122.       
  123.       var sQuery = "";
  124.       if(Tl.Element.Set[0]["QuerySelected"]!="")
  125.       {
  126.        sQuery = fQueryString(Tl.Element.Set[0]["QuerySelected"], true);
  127.       }
  128.       
  129.       if(sQuery!="") sSelected = sQuery;
  130.       
  131.       arItem = fClearArrayRepeats(arItem);
  132.       var arItemLen = arItem.length;
  133.       iCount = 0;
  134.       while(iCount<arItemLen)
  135.       {
  136.        var ItemSet = arItem[iCount].split(Tl.Symbol.Column);
  137.        
  138.        if(ItemSet.length!=2)
  139.        {
  140.         iCount++;
  141.         continue;
  142.        }
  143.        
  144.        if(ItemSet[0]==""||ItemSet[1]=="")
  145.        {
  146.         iCount++;
  147.         continue;
  148.        }
  149.        if(sSelected==ItemSet[0])
  150.        {
  151.          if(sQuery==ItemSet[0])bQueryMatch=true;
  152.         fAddOption(Tl.Element.Set[0], ItemSet[1], ItemSet[0], truetrue);
  153.        }
  154.        else
  155.        {
  156.         fAddOption(Tl.Element.Set[0], ItemSet[1], ItemSet[0], falsefalse);
  157.        }
  158.        
  159.        iCount++;
  160.       } // end while(iCount<arItemLen)
  161.       
  162.       if(Tl.Element.Set[0]["AddtionText"]!=""&&Tl.Element.Set[0]["AddtionValue"]!="")
  163.       {
  164.        if(Tl.Element.Set[0]["AddtionValue"]==Tl.Element.Set[0]["DefaultSelected"]&&!bQueryMatch)
  165.        {
  166.         fAddOption
  167.         (
  168.          Tl.Element.Set[0]
  169.          , Tl.Element.Set[0]["AddtionText"]
  170.          , Tl.Element.Set[0]["AddtionValue"]
  171.          , true
  172.          , true
  173.         );
  174.        }
  175.        else
  176.        {
  177.         fAddOption
  178.         (
  179.          Tl.Element.Set[0]
  180.          , Tl.Element.Set[0]["AddtionText"]
  181.          , Tl.Element.Set[0]["AddtionValue"]
  182.          , false
  183.          , false
  184.         );
  185.        }
  186.       }
  187.       var sText = Tl.Element.Set[0][Tl.Element.Set[0].selectedIndex].innerHTML;
  188.       var sValue = Tl.Element.Set[0].value;
  189.       
  190.       Tl.Element.Set[0].onchange = 
  191.        function()
  192.        {  
  193.         var sText = this[this.selectedIndex].innerHTML;
  194.         var sValue = this.value;
  195.         
  196.         var iSetLen = Tl.Element.Set.length;
  197.         var iSetCount = 0;
  198.         
  199.         while(iSetCount<iSetLen)
  200.         {
  201.          Tl.Element.Set[iSetCount]["DefaultSelected"] = "";
  202.          Tl.Element.Set[iSetCount]["QuerySelected"] = "";
  203.          iSetCount++;
  204.         }
  205.         
  206.         if(Tl.Debug)
  207.         {
  208.          defaultStatus =""
  209.          +" sText: "+sText
  210.          +" sValue: "+sValue
  211.          ;
  212.         }
  213.         
  214.          Tl.GetItem(1, sValue+Tl.Symbol.Column+sText+Tl.Symbol.Column);
  215.        }
  216.       
  217.       MyCallee(iNextLevel, sValue+Tl.Symbol.Column+sText+Tl.Symbol.Column);
  218.      }() 
  219.     ); // end anonymous function
  220.    }
  221.    else
  222.    {
  223.     ( // begin anonymous function
  224.      function()
  225.      {
  226.    
  227.       Tl.Element.Set[iLevel].options.length = 0; 
  228.     
  229.       var iPrev = iLevel-1;
  230.       
  231.       if(Tl.Element.Set[iPrev].options.length==0) return;
  232.       
  233.       var sText = Tl.Element.Set[iPrev][Tl.Element.Set[iPrev].selectedIndex].innerHTML;
  234.       var sValue = Tl.Element.Set[iPrev].value;
  235.       
  236.       
  237.       var reGetItem = 
  238.        new RegExp
  239.        (
  240.          "^"+sPrefix+"(.*?)"+Tl.Symbol.Column+"(.*?)"+Tl.Symbol.Column+"[//s//S]*"
  241.        );
  242.        
  243.       var RowsSet = pRowsSet;
  244.       var iLen = RowsSet.length;
  245.       var iCount = 0;
  246.       var arItem = [];
  247.       
  248.       while(iCount<iLen)
  249.       {
  250.        arItem[iCount] = 
  251.        (RowsSet[iCount]+Tl.Symbol.Column).replace(reGetItem, "$1"+Tl.Symbol.Column+"$2");
  252.        iCount++;
  253.       }
  254.       
  255.       var sSelected = "";
  256.       if(Tl.Element.Set[iLevel]["DefaultSelected"]!="")
  257.       {
  258.        sSelected = Tl.Element.Set[iLevel]["DefaultSelected"];
  259.       }
  260.       
  261.       var sQuery = "";
  262.       if(Tl.Element.Set[iLevel]["QuerySelected"]!="")
  263.       {
  264.        sQuery = fQueryString(Tl.Element.Set[iLevel]["QuerySelected"], true);
  265.       }
  266.       
  267.       var bQueryMatch = false;
  268.       
  269.       if(sQuery!="") sSelected = sQuery;
  270.       
  271.       arItem = fClearArrayRepeats(arItem);
  272.       
  273.       var arItemLen = arItem.length;
  274.       iCount = 0;
  275.       while(iCount<arItemLen)
  276.       {
  277.        var ItemSet = arItem[iCount].split(Tl.Symbol.Column);
  278.        
  279.        if(ItemSet.length!=2)
  280.        {
  281.         iCount++;
  282.         continue;
  283.        }
  284.        
  285.        if(ItemSet[0]==""||ItemSet[1]=="")
  286.        {
  287.         iCount++;
  288.         continue;
  289.        }
  290.        if(sSelected==ItemSet[0])
  291.        {
  292.         if(

抱歉!评论已关闭.