Javascript对选择元素的内容进行排序

新手上路,请多包涵

有没有一种快速的方法来对选择元素的项目进行排序?或者我必须求助于编写 javascript?

请任何想法。

 <select size="4" name="lstALL" multiple="multiple" id="lstALL" tabindex="12" style="font-size:XX-Small;height:95%;width:100%;">
<option value="0"> XXX</option>
<option value="1203">ABC</option>
<option value="1013">MMM</option>
</select>

原文由 Julius A 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 507
2 个回答

这样就可以了。只需将您的选择元素传递给它: 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;
}

原文由 Matty 发布,翻译遵循 CC BY-SA 3.0 许可协议

这个解决方案对我使用 jquery 非常有效,我想我会在这里交叉引用它,因为我在另一个页面之前找到了这个页面。其他人可能也会这样做。

 $("#id").html($("#id option").sort(function (a, b) {
    return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}))

来自 使用 Javascript 的排序下拉列表

原文由 Terre Porter 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题