How To Sort A List With Symbols In Js July 08, 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 Do I Use The Deezer Api? I'm trying to use the deezer api to look up artists and… Is It Possible To Get Clipboard Data From A User With Either Php Or Javascript? Essentially, if a user visits the page, and they press ctrl… Can't Get Text Highlighted When Multiple Tags Are Present So I am trying to highlight text by selecting it and clicki… 'Pulsing' A Border In Javascript/JQuery I am in the process of applying validation on a web form -… JQuery "find" Method Alternative $('.wrapper a').find('a'); //return empty o… Jquery Malipulate A Subarray, And Return A New Array Using Each/map I have this string in the form of ItemName1:Rate1:Tax1_Item… Tell If An Line Is Hidden I have a chart that has multiple lines, each of which is pl… Hoisting In Javascript I asked a question before and somebody give me a guide and … How To Add Transition When Changing Img Src On Hover? So I'm trying to add a different image when the origina… How To Add Input Fields Dynamically In Angular 6 I need to add input fields to array of objects and a map wh… December 2024 (1) November 2024 (38) October 2024 (62) September 2024 (23) August 2024 (372) July 2024 (342) June 2024 (701) May 2024 (1292) April 2024 (787) March 2024 (1525) February 2024 (1713) January 2024 (1336) December 2023 (1329) November 2023 (410) October 2023 (580) September 2023 (306) August 2023 (356) July 2023 (281) June 2023 (368) May 2023 (199) April 2023 (130) March 2023 (140) February 2023 (157) January 2023 (279) December 2022 (130) November 2022 (233) October 2022 (171) September 2022 (168) August 2022 (495) July 2022 (300) June 2022 (314) Menu Halaman Statis Beranda © 2022 - JavaScript Passion