@xaruki

Как найти все элементы option, значения которых имеют определенное слово?

Есть такой html код:

<select id="country">
 <option value="europe1">Россия</option>
 <option value="europe2">Германия</option>
 <option value="europe3">Франция</option>
 <option value="asia1">Тайланд</option>
 <option value="asia2">Индонезия</option>
</select>

Как найти все option, в value которых встречается слово europe?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Внутри какого select'а находятся option'ы и что должно содержаться у них в значениях:

const select = document.querySelector('#country');
const value = 'europe';

Можно собрать селектор, соответствующий нужным option'ам:

const options = select.querySelectorAll(`option[value*="${value}"]`);

Или выполнить фильтрацию:

const options = Array.prototype.filter.call(
  select.options,
  n => n.value.includes(value)
);

Или руками запихать в массив что надо:

const options = [];
for (const n of select.children) {
  if (n.value.indexOf(value) !== -1) {
    options.push(n);
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы