How To Sort A List With Symbols In Js March 07, 2024 Post a Comment I have a drop down with a list of options which looks like this: Please SelectSolution 1: Extract the text (exclude the 1st one), sort and swap out the text using the sorted arrayWith HTML<selectid="weightClass"class="form-control input-sm"><optionvalue="Default">Please Select</option><option><200</option><option>>200</option><option>200</option><option>Unknown</option></select>Copyyou can use this script (after the above HTML)var sortOrder = { '<': 1, // placeholder for the value'>': 3, 'U': 4 } functionsortDropDown(target) { // get textvar opts = []; $(target + " option").each(function (i) { if (i) opts.push($(this).text()) }); opts.sort(function (a, b) { // get the sort order using the first charactervar oa = sortOrder[a[0]] || 2; var ob = sortOrder[b[0]] || 2; if (oa > ob) return1; elseif (oa < ob) return -1; elsereturn0; }); // change the option text $(target + " option").each(function (i) { if (i) $(this).text(opts[i - 1]) }); } sortDropDown("#weightClass") Copyvar sortOrder = { '<': 1, '>': 3, 'U': 4 } functionsortDropDown(target) { var opts = []; $(target + " option").each(function (i) { if (i) opts.push($(this).text()) }); console.log(opts) opts.sort(function (a, b) { var oa = sortOrder[a[0]] || 2; var ob = sortOrder[b[0]] || 2; if (oa > ob) return1; elseif (oa < ob) return -1; elsereturn0; }); $(target + " option").each(function (i) { if (i) $(this).text(opts[i - 1]) }); } sortDropDown("#weightClass")Copy<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><selectid="weightClass"class="form-control input-sm"><optionvalue="Default">Please Select</option><option><200</option><option>>200</option><option>200</option><option>Unknown</option></select>CopySolution 2: You should use a sorting function to do the special sort that you need. Here is the sorting function with an example of how to use it:var t = ['some other option', '100', '120', '300', '>300', '<300', '<100', '>400', '200', '<200', '>200', 'another special option'] function specialSort(a, b) { var newA, newB; if (a[0] == '<' || a[0] == '>') { newA = parseInt(a.substr(1)) } elseif (!isNaN(a)) { newA = parseInt(a) } else { newA = null; } if (b[0] == '<' || b[0] == '>') { newB = parseInt(b.substr(1)) } elseif (!isNaN(b)) { newB = parseInt(b) } else { newB = null; } if (newA == null) { return1; } if (newB == null) { return -1; } if (typeof(newA) == 'number' && typeof(newB) == 'number') { if (newA < newB) { return -1; } elseif (newA > newB) { return1; } elseif (newA == newB) { if (a[0] == '<') { return -1; } elseif (b[0] == '<') { return1; } elseif (a[0] == '>') { return1 } elseif (b[0] == '>' ) { return -1; } } } return0; } console.log(t.sort(specialSort)); // Output is ["<100", "100", "120", "<200", "200", ">200", "<300", "300", ">300", ">400", "another special option", "some other option"]CopyYou can use jQuery to get the values of your SELECT tag and sort them using this:valuesToSort = [] $('#weightClass').find('option').each(function(){r.push($(this).text())}) valuesToSort.sort(specialSort) CopyNow the array valuesToSort is sorted the way you want and you can put the values back into your #weightClass tag. Share Post a Comment for "How To Sort A List With Symbols In Js" Top Question How To Validate Form Fields And Post The Form Data To Server Using Jquery And Ajax? I am trying to validate form fields like, Name (must not be… Replace Url From Youtube To Embed Code - Error: Permission Denied To Access Property 'toString' I have this code and this error in FireBug: Error: Permiss… How To Add Date Time Value To Input By Onclick Checked JQuery i have this Solution 1: jsFiddle Demo var months = n… External API GET() Request Using JQuery I am using the IMDb API v2.0 located here and I decided to … JQuery - Renaming Checkboxes Sets Consecutively I'm trying to build a form to allow multiple elements (… Dropdown Menu On Refresh Changes Javascript I have implemented a navbar uisng bootstrap 4,in which I ha… Uncaught TypeError: $(...).tooltipster Is Not A Function I can't use the tooltipster library along with tablesor… How Do I Use Data From Vue.js Child Component Within Parent Component? I have a form component where I use a child component. I wa… Cannot Invoke Ashx Inside The Function I am having jquery code to invoke ashx file. Its perfectly … Detect Browser Tab Close Without Jquery And Send Some Data To Php File I have wrote a script that send some data to an external ph… December 2024 (1) November 2024 (35) October 2024 (68) September 2024 (25) August 2024 (371) July 2024 (334) June 2024 (705) May 2024 (1290) April 2024 (788) March 2024 (1543) February 2024 (1653) January 2024 (1323) December 2023 (1379) November 2023 (392) October 2023 (493) September 2023 (299) August 2023 (352) July 2023 (269) June 2023 (351) May 2023 (209) April 2023 (127) March 2023 (150) February 2023 (182) January 2023 (282) December 2022 (132) November 2022 (230) October 2022 (172) September 2022 (170) August 2022 (496) July 2022 (303) June 2022 (266) Menu Halaman Statis Beranda © 2022 - JavaScript OfficialSite