自動對select表單列表進(jìn)行排序(收藏)

          Posted on 2007-03-22 15:55 Jaunt 閱讀(500) 評論(0)  編輯  收藏 所屬分類: JavaScript
          自動對select表單列表進(jìn)行排序

          <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "<html xmlns="<head>
          <title>runcode</title>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <meta name="Author" content="Sheneyan" />
          <script type="text/javascript">
          function s(n){
          ? var o=document.getElementById(n);
          ? if (!o) return ;
          ? var t=[],tt=o.options;
          ? while(tt.length>0){
          ? t[t.length]=tt[0].text;
          ? tt.remove(0);
          ?}
          ?t.sort();
          ? for(var i=0,c;c=t[i];i++){
          ? tt.add(new Option(c));
          ?}
          }
          </script>
          </head>
          <body onload="s('abc')">
          <select id="abc">
          <option>華碩</option>
          <option>.NET </option>
          <option>360 安全衛(wèi)士</option>
          <option>ACDSee</option>
          <option>Adobe</option>
          <option>Firewall</option>
          <option>Alcohol 120%</option>
          <option>AMD</option>
          <option>AnyDVD</option>
          <option>Apple</option>
          <option>ATi</option>
          <option>AutoDesk</option>
          <option>羅技</option>
          <option>BitComet</option>
          <option>BitSpirit(比特精靈)</option>
          <option>BlackIce</option>
          <option>BlueTooth</option>
          <option>Cisco </option>
          <option>CloneCD</option>
          <option>CloneDVD</option>
          <option>CS-半條命</option>
          <option>CuteFTP</option>
          <option>千千靜聽</option>
          <option>趨勢科技(PC-cillin)</option>
          <option>DAEMON Tools</option>
          <option>DELL</option>
          <option>DirectX</option>
          <option>DivX</option>
          <option>DreamMail</option>
          <option>PowerDVD</option>
          <option>Easy CD-DA</option>
          <option>瑞星(Rising)</option>
          <option>Editplus</option>
          <option>EmEditor</option>
          <option>eMule</option>
          <option>eMule Plus</option>
          <option>FeedDemon</option>
          <option>FileZilla</option>
          <option>FlashFXP</option>
          <option>Flashget</option>
          <option>foobar2000</option>
          <option>Foxit PDF Reader</option>
          <option>Foxmail</option>
          <option>FreeBSD</option>
          <option>FTPRush</option>
          <option>Gmail</option>
          <option>Google talk</option>
          <option>Google</option>
          <option>GoogleToolbar</option>
          <option>GoSURF</option>
          <option>GreenBrowser</option>
          <option>HP</option>
          <option>HyperSnap-DX</option>
          <option>IBM</option>
          <option>ICQ</option>
          <option>iMac G5</option>
          <option>Intel</option>
          <option>Internet Explorer</option>
          <option>IPB</option>
          <option>iTune</option>
          <option>騰訊</option>
          <option>微軟</option>
          <option>木馬克星(iparmor)</option>
          <option>天網(wǎng)防火墻</option>
          <option>木馬捆綁克星</option>
          <option>風(fēng)云防火墻個人版</option>
          <option>卡巴斯基(Kaspersky)</option>
          <option>Maxthon 傲游</option>
          <option>Media Player Classic</option>
          <option>Windows Media Player</option>
          <option>Windows Live Messenger</option>
          <option>Microsoft AntiSpyware</option>
          <option>Microsoft Office</option>
          <option>Mozilla FireFox</option>
          <option>Mozilla ThunderBird</option>
          <option>MySQL</option>
          <option>Nero</option>
          <option>NetCaptor</option>
          <option>Nettransport</option>
          <option>nVIDIA nForce</option>
          <option>魚魚桌面秀</option>
          <option>Opera</option>
          <option>PHP</option>
          <option>QQ病毒專殺工具</option>
          <option>QuickTime</option>
          <option>RealPlayer</option>
          <option>skype</option>
          <option>SQL Server 2005</option>
          <option>stylexp</option>
          <option>TheWorld Browser</option>
          <option>TuneUp Utilities</option>
          <option>UltraEdit</option>
          <option>UltraISO</option>
          <option>Winamp</option>
          <option>Windows OneCare</option>
          <option>Windows優(yōu)化王</option>
          <option>Windows優(yōu)化大師</option>
          <option>WinDVD</option>
          <option>WinRAR</option>
          <option>WinZip</option>
          <option>XnView</option>
          <option>Zonealarm</option>
          <option>Zoom Player</option>
          <option>超級兔子</option>
          <option>風(fēng)雷影音</option>
          <option>急速啟動 HurryRun</option>
          </select>
          </body>
          </html>

          主要有以下幾點總結(jié):
          1,select控件本身支持字母索引。比如select控件處于焦點中的時候,按B鍵,option中相應(yīng)的以B開頭的選項就會顯示出來。

          2,這段代碼寫的較好!這段代碼的作用是一項一項賦值select空間列表內(nèi)容賦給另一個數(shù)組。
          var?t=[],tt=o.options;
          ??
          while?(tt.length>0){
          ????t[t.length]
          =tt[0].text;
          ????tt.remove(
          0);
          ??}

          首先定義數(shù)組t=[],用于存儲原select控件列表內(nèi)容。
          tt=o.options;讀取select空間內(nèi)容,以數(shù)組形式存儲在tt數(shù)組中。
          t[t.length]=tt[0].text;這里時一個技巧,因為t.length總是比當(dāng)前t的最大索引大1,所以這樣寫數(shù)組t可以自動增加空間。tt[0].text這里每次都讀取第一個內(nèi)容,然后用tt.remove(0);刪除第一項內(nèi)容,直至讀取完畢。

          3,這段代碼對新數(shù)組內(nèi)容按字母派訊,然后寫入原select空間列表。
          t.sort();
          ??for?(var?i=0,c;c=t[i];i++){
          ????tt.add(
          new?Option(c));
          ??}


          From Index:
          http://www.cnitblog.com/yemoo/archive/2006/06/20/12573.html
          主站蜘蛛池模板: 阳原县| 新泰市| 延庆县| 年辖:市辖区| 五指山市| 五家渠市| 都安| 大港区| 霸州市| 黑水县| 宿松县| 和平区| 大足县| 杭锦旗| 罗平县| 凌海市| 叙永县| 大安市| 邵东县| 多伦县| 仙居县| 江川县| 屏东市| 柳河县| 泰和县| 尼玛县| 呼图壁县| 军事| 宿州市| 潍坊市| 济宁市| 诏安县| 谷城县| 五河县| 鱼台县| 溧阳市| 体育| 龙里县| 招远市| 宁海县| 鄂温|