自動對select表單列表進行排序
<! 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 安全衛士</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>天網防火墻</option>
<option>木馬捆綁克星</option>
<option>風云防火墻個人版</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優化王</option>
<option>Windows優化大師</option>
<option>WinDVD</option>
<option>WinRAR</option>
<option>WinZip</option>
<option>XnView</option>
<option>Zonealarm</option>
<option>Zoom Player</option>
<option>超級兔子</option>
<option>風雷影音</option>
<option>急速啟動 HurryRun</option>
</select>
</body>
</html>
主要有以下幾點總結:
1,select控件本身支持字母索引。比如select控件處于焦點中的時候,按B鍵,option中相應的以B開頭的選項就會顯示出來。
2,這段代碼寫的較好!這段代碼的作用是一項一項賦值select空間列表內容賦給另一個數組。
var?t=[],tt=o.options;
??while?(tt.length>0){
????t[t.length]=tt[0].text;
????tt.remove(0);
??}首先定義數組t=[],用于存儲原select控件列表內容。
tt=o.options;讀取select空間內容,以數組形式存儲在tt數組中。
t[t.length]=tt[0].text;這里時一個技巧,因為t.length總是比當前t的最大索引大1,所以這樣寫數組t可以自動增加空間。tt[0].text這里每次都讀取第一個內容,然后用tt.remove(0);刪除第一項內容,直至讀取完畢。
3,這段代碼對新數組內容按字母派訊,然后寫入原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