У меня есть массив, который заполняется опциями в выпадающих меню выбора.
jQuery('.wcpf-input-drop-down').each(function () {
var sel = jQuery(this);
var selected = sel.val(); // cache selected value, before reordering
var opts_list = sel.find('option');
opts_list.sort(function(a, b) { return jQuery(a).text() > jQuery(b).text() ? 1 : -1; });
sel.html('').append(opts_list);
sel.val(selected); // set cached selected value
});
Приведенный выше код взят из Сортировка элементов опций в алфавитном порядке с использованием jQuery , написанного Малаком Джорджем.РЕДАКТИРОВАТЬ: Я изменил его, чтобы искать все экземпляры отдельно.
Теперь, это работает нормально, если найти экземпляры .wcpf-input-drop-down и отсортировать параметры внутри.
Однако, эта сортировка производит упорядочение таким образом: «1, 2, 26, 27, 28, 3, 31» и т. Д.
Мне нужно будет отсортировать его следующим образом: «1,2, 3, 26, 27, 28, 31 ".
Я искал часы и нашел много разговоров на эту тему, но я не могу добраться туда, куда я хочу.Я уверен, что видел способы достичь того, что мне нужно, но не смог.Я думаю, вот что я мог бы использовать, если бы я только знал, как вставить это в мой существующий код: Сортировать элементы массива (строка с числами), естественная сортировка
Может кто-нибудь помочьвыполнить сортировку, которую я хочу видеть в коде, который у меня сейчас есть?
Спасибо.
EDIT2: Вот ручка со всеми соответствующими данными для этого вопроса: https://codepen.io/jpontinen/pen/NJrXKQ