javascript - 使用 optgroups 对下拉列表进行排序

标签 javascript jquery html drop-down-menu

我有一个下拉菜单,其中包含很多我希望按字母顺序排列的项目,如果它有所不同,下拉菜单使用 optgroups。

假设我有这样的东西:

<optgroup label="Fruits">
<option>Banana</option>
<option>Apple</option>
<option>Orange</option>
<option>Avocado</option>
</optgroup>

我如何才能让它按字母顺序显示每个 optgroup?在上面的示例中,它的顺序是苹果、鳄梨、香蕉、橙子。

最佳答案

您可以使用sort()

$('optgroup[label="Fruits"] option').sort(function(a, b) {
  return $(a).text() > $(b).text();
}).appendTo('optgroup[label="Fruits"]');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<optgroup label="Fruits">
  <option>Banana</option>
  <option>Apple</option>
  <option>Orange</option>
  <option>Avocado</option>
</optgroup>

关于javascript - 使用 optgroups 对下拉列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37148408/

相关文章:

html - 如何设置仅适用于下方控件的 STYLE?

javascript - 客户端和服务器端 javascript 中 'this' 值的差异

javascript - 检测 jQuery Mobile 1.4 中选择菜单的变化

javascript - 使用 jQuery 隐藏/取消隐藏列表元素

javascript - jquery 滚动事件触发在底部

javascript - 当用户在输入框中输入小数点时逗号消失

javascript - 有没有办法限制文本区域(javascript/jQuery)中每行的字符数?

javascript - 从经典 ASP 应用程序连接到 SQLExpress

javascript - Mvc4 将 Jquery 可排序列表项的顺序保留到 Controller

html - 在桌面设备上 Bootstrap 三列意外行为