但是有个问题,无法识别多音字,例如"重庆"的"重"(chong)ie会解析成"重量"的"重"(zhong)所以"重庆"被排在了最后
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<SELECT NAME="citys" id="city">
<option value="1">上海</>
<option value="2">北京</>
<option value="3">济南</>
<option value="4">广州</>
<option value="5">深圳</>
<option value="6">重庆</>
<option value="7">天津</>
<option value="8">南京</>
<option value="9">无锡</>
<option value="10">苏州</>
<option value="11">杭州</>
<option value="12">成都</>
<option value="13">长沙</>
<option value="14">海口</>
<option value="15">香港</>
<option value="16">台北</>
</SELECT>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
function sortRule(a,b) {
var x = a._text;
var y = b._text;
return x.localeCompare(y);
}
function op(){
var _value;
var _text;
}
function sortOption(){
var obj = document.getElementById("city");
var tmp = new Array();
for(var i=0;i<obj.options.length;i++){
var ops = new op();
ops._value = obj.options[i].value;
ops._text = obj.options[i].text;
tmp.push(ops);
}
tmp.sort(sortRule);
for(var j=0;j<tmp.length;j++){
obj.options[j].value = tmp[j]._value;
obj.options[j].text = tmp[j]._text;
}
}
sortOption();
</SCRIPT>
http://www.corange.cn/archives/2008/08/1443.html