Skip to content

Instantly share code, notes, and snippets.

@cschlyter
Last active October 2, 2024 10:05
Show Gist options
  • Select an option

  • Save cschlyter/5187131 to your computer and use it in GitHub Desktop.

Select an option

Save cschlyter/5187131 to your computer and use it in GitHub Desktop.
[Javascript] Sort alphabetically the option elements of a select element by text.
function sortSelectOptions(selectElement) {
var options = $(selectElement + " option");
options.sort(function(a,b) {
if (a.text.toUpperCase() > b.text.toUpperCase()) return 1;
else if (a.text.toUpperCase() < b.text.toUpperCase()) return -1;
else return 0;
});
$(selectElement).empty().append( options );
}
@rlapenda

Copy link
Copy Markdown

good !

@Sago92

Sago92 commented Oct 11, 2019

Copy link
Copy Markdown

good and easy solution :) Thanks!

@boularbahsmail

Copy link
Copy Markdown

i can't understand , please i have a select of countries , any help ?

@MightyPork

MightyPork commented Sep 7, 2020

Copy link
Copy Markdown

Didn't work for me, but this works - maybe the snippet is for older jquery

var options = $(selectElement + " option").toArray();
options.sort(function(a, b) {
  let aa = a.textContent;
  let bb = b.textContent;
  if (aa.toUpperCase() > bb.toUpperCase()) return 1;
  else if (aa.toUpperCase() < bb.toUpperCase()) return -1;
  else return 0;
});
$(selectElement).empty().append( options );

@hossein-babaei

Copy link
Copy Markdown

perfect

@Elcar86585

Copy link
Copy Markdown

Good

@stefanseeger

stefanseeger commented Oct 2, 2024

Copy link
Copy Markdown

In 2024 please simply use a.textContent.toLocaleUpperCase().localeCompare(b.textContent.toLocaleUpperCase()) instead of this if else stuff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment