Сортировка в Jquery по условию

116
05 июня 2021, 14:50

Есть выпадающий список, в некоторых данных списка есть на конце слова (не действует в 2019).

Помогите осуществить скрипт, чтобы где встречаются в конце слова (не действует в 2019) уходило вниз списка.

Т.е. те которые верхние сортировались также как и первоначально по value, и далее шли сортировкой по value те которые с (не действует в 2019)

JSP

  <form:label path="moId"><spring:message code="label.mo" /></form:label>
    <form:select path="moId">
    <form:option value="0" label=" " />
    <form:options items="${moList}"/>
    </form:select>
<script>
"Предлагаемый скрипт"               
</script>

HTML

<select id="moId" name="moId">
<option value="0" selected="selected"> </option>
<option value="1">0001 «ГН»</option>
<option value="2">0002 КМГ ВИЖУ (не действует в 2019)</option>
<option value="3">0003 НС «ГН»</option>
</select>

Хотелось бы видеть так HTML

<select id="moId" name="moId">
<option value="0" selected="selected"> </option>
<option value="1">0001 «ГН»</option>
<option value="3">0003 НС «ГН»</option>
<option value="2">0002 КМГ ВИЖУ (не действует в 2019)</option>
</select>
Answer 1

Пример решения, на которое вам указывали в комментариях:

$(function () { 
  var sel = $("#moId"), opts = $("#moId option"); 
  opts.sort(function (a, b) { 
    var re = /\(не действует в 2019\)$/; 
      if (re.test(a.textContent)) { 
        if (!re.test(a.textContent)) return 1; 
      } else { 
        if (re.test(b.textContent)) return -1; 
      } 
      return 0; 
  }); 
  $.each(opts, function (k, v) { 
    sel.append(v); 
  }); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<select id="moId" name="moId"> 
<option value="0" selected="selected"> </option> 
<option value="1">0001 «ГН»</option> 
<option value="2">0002 КМГ ВИЖУ (не действует в 2019)</option> 
<option value="3">0003 НС «ГН»</option> 
</select>

READ ALSO
Ошибка при подключении к базе Postgress

Ошибка при подключении к базе Postgress

В моем проекте мне нужно использовать Postgres базу, до этого момента небыло опыта работы с такой базой, настроил субд на компе все работаетПробую...

82
Unity c#, массив со скриптами

Unity c#, массив со скриптами

Всем приветУ меня есть, допустим, 5 скриптов (все кроме одного отключены) и мне нужно, чтобы на колесико мыши отключался рабочий скрипт и включался...

160
Как избавится от дублирования в JOIN

Как избавится от дублирования в JOIN

Всем привет! У меня есть 4 таблицы

107
проблема с установкой composer

проблема с установкой composer

помогите пожалуйста решить проблемуУстанавливаю composer по гайду с digitalOcean установка просто висит, ничего не происходит

105