关于下拉列表框按排序算法显示的问题(在线等待)

funnyball 2003-10-24 05:26:06
象一个下拉列表框:
<select name="selname" OnChang="thisChang()" size="15" style="width:100px">
<option value="6"> 6 </option>
<option value="3"> 3 </option>
<option value="1"> 1 </option>
<option value="4"> 4 </option>
<option value="2"> 2 </option>
<option value="7"> 7 </option>
<option value="9"> 9 </option>
<option value="8"> 8 </option>
<option value="5"> 5 </option>
</select>
触发OnChange事件后,如何把它变成如下显示
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
<option value="4"> 4 </option>
<option value="5"> 5 </option>
<option value="6"> 6 </option>
<option value="7"> 7 </option>
<option value="8"> 8 </option>
<option value="9"> 9 </option>
望不吝赐教!!!!!!!!
...全文
5 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
funnyball 2003-10-26
谢谢你们,我自己发帖不到5分钟,自己便灵机来了解决了。不过仍然谢谢你们
回复
zrla 2003-10-25
up
回复
saucer 2003-10-25
you could write your own sorting routine, but i am lazy, so I will be using Array's sort method


<form name=form1>
<select name="selname" size="15" style="width:100px">
<option value="6"> 6 </option>
<option value="3"> 3 </option>
<option value="1"> 1 </option>
<option value="4"> 4 </option>
<option value="2"> 2 </option>
<option value="7"> 7 </option>
<option value="9"> 9 </option>
<option value="8"> 8 </option>
<option value="5"> 5 </option>
</select>
<input type=button value=sort onclick="sortDropDown()">
</form>

<script language=javascript>
function compareOption(a, b)
{
//use option's text to compare, you could use value too
if (a.text < b.text)
return -1;
else if (a.text > b.text)
return 1;

return 0;
}

function sortDropDown()
{
var sel = document.form1.selname;
var a = new Array(sel.options.length);
for (var i=0; i < a.length; i++)
a[i] = sel.options[i];

a.sort(compareOption);
//sel.options.length = -1;
for (var i=0; i < a.length; i++)
sel.options[i] = new Option(a[i].text,a[i].value);
}
</script>
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告