Задать вопрос
@AlexGR07

Регулярка для проверки select, как правильно?

Реализована карточка, которая тянет один селект из другого места. Важно что бы связь эта оставалась. При этом, задача - скрыть часть (некая иерархия. И нужно влолженость скрыть) Делаю на js.
В выпадающем списке, около 35 елементов. В формате "ХХ.ХХ.ХХ Надвание" где ХХ - двузначные номера с точкой разделителем. Это все в рамках Sharepoint2016.

Решаю задачу: Нужно сделать фильтр для этого выпадающего списка. Фильтр должен отображать только строки с 2мя цифрами. Типу ""ХХ Надвание" показывать. А остальное (ХХ.ХХ ... - бла бла бла) не отображалось...
<span dir="none">
				<select id="Subspec_Of_Equip_3287f214-60b0-4529-9fcd-0ecffd9e4087_$LookupField" title="Підвид обладнання">
					<option selected="selected" value="0">(нет)</option>
					<option value="17">01. Обрудование</option>
					<option value="96">02. Комуникация</option>
					<option value="26">03. Монтаж</option>
					<option value="27">Автоматика пожежогасіння</option>
					<option value="43">03.01 Апаратура високовольтна комутаційна</option>
					<option value="57">04.02.01 Видеонаблюдение</option>
					
					</select>
					<br>
				</span>

Как планировал реализовать:
Получить массив выпадающего списка. => Посчитать количество цифер по каждой строке. => И если более 2х то прятать.

var optionLi2 = document.querySelector("#Subspec_Of_Equip_3287f214-60b0-4529-9fcd-0ecffd9e4087_\\$LookupField");
optionLi2.forEach(function(item, i, arr) {
  if(/[0-9]/.test(item)=>3){optionLi2[i].setAttribute('style', 'display:none;')};
});
console.log("nice");
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const select = document.querySelector('select');
const reg = /^\d\d\. /;

Array.prototype.forEach.call(
  select,
  n => n.hidden = !reg.test(n.innerText)
);

// или

for (const n of select) {
  n.style.display = n.textContent.search(reg) ? 'none' : '';
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект