3 回答

TA贡献2036条经验 获得超8个赞
这将达到目的。只需将您的select元素传递给la:document.getElementById('lstALL')当您需要对列表进行排序时。
function sortSelect(selElem) {
var tmpAry = new Array();
for (var i=0;i<selElem.options.length;i++) {
tmpAry[i] = new Array();
tmpAry[i][0] = selElem.options[i].text;
tmpAry[i][1] = selElem.options[i].value;
}
tmpAry.sort();
while (selElem.options.length > 0) {
selElem.options[0] = null;
}
for (var i=0;i<tmpAry.length;i++) {
var op = new Option(tmpAry[i][0], tmpAry[i][1]);
selElem.options[i] = op;
}
return;
}

TA贡献1803条经验 获得超6个赞
从W3C常见问题解答:
尽管许多编程语言都具有诸如下拉框之类的设备,这些设备具有在将项目列表显示为其功能的一部分之前对其进行排序的功能,但是HTML <select>功能却没有这种功能。它按收到的顺序列出<options>。
对于静态HTML文档,您必须手动对它们进行排序,对于动态文档,则必须使用Javascript或某种其他编程方式进行排序。
添加回答
举报