Как получить значение параметра в javascript

у меня есть этот код:

<SELECT onChange = "chData(this,this.value)">
<OPTION VALUE = "_MIPS-LRSYSCPU">MIPS
<OPTION VALUE = "_XXCEC-LRSYSCPU">% CEC
<OPTION VALUE = "_nIFL-LRSYSCPU">nIFL
</SELECT>

и мне нужно взять с javascript все значение (не текст) значения параметра, которое у меня есть на странице HTML. Проблема в том, что я знаю, что значение содержит слово "-LRSYSCPU", но я не знаю предыдущую часть (пример _MIPS). вторая проблема заключается в том, что у меня нет идентификатора в выборе, так как я могу получить значение параметра? Я видел, что люди используют этот код:

var e = document.getElementById("elementId");
var value = e.options[e.selectedIndex].value;
var text = e.options[e.selectedIndex].text;

но у меня нет идентификатора, поэтому я не знаю, как действовать..

Мне нужно создать массив с тремя значениями: _MIPS-LRSYSCPU, _XXCEC-LRSYSCPU и _nIFL-LRSYSCPU. Спасибо

Затем поместите идентификатор на него, чтобы вы могли выбрать его? <SELECT id = "YOUR_ID_HERE" onChange = "chData(this,this.value)">. Или выберите по имени тега «выбрать». Посмотрите на querySelectorAll(), если вы можете его использовать. Это как getElementByX, все в одном.

Shilly 11.06.2019 15:36

Возможный дубликат Как получить доступ к элементу HTML без идентификатора?

Heretic Monkey 11.06.2019 15:39

ну, вы передаете this.... Разве вы не ссылаетесь на элемент с этим аргументом? Не можете ли вы добавить класс или атрибут данных к элементу

epascarello 11.06.2019 15:43
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
91
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы используете только один выбор на всей странице, вы можете использовать -

let selectTags = document.getElementsByTagName('select');

затем он вернет вам массив HTMLCollection [select]. Теперь вы можете получить свой выбор, используя selectTags[0], который является объектом типа HTMLКоллекция. Этот объект содержит дочерние узлы. Перебор дочерних узлов даст вам все параметры и их значения.

Ответ принят как подходящий

Чтобы получить все значения параметров на странице, которые включают подстроку «LRSYSCPU», вы можете использовать этот код:

// Grab all the options in the page
const options = document.querySelectorAll('option');

// `filter` out the options that have the "LRSYSCPU" substring
// in their values
const filtered = [...options].filter(({ value }) => value.includes('-LRSYSCPU'));

// Iterate over those filtered options with `map` and return only
// the values
const values = filtered.map(({ value }) => value);
console.info(values);
<select>
<option value = "temp">temp</option>
<option value = "_MIPS-LRSYSCPU">MIPS</option>
<option value = "_XXCEC-LRSYSCPU">% CEC</option>
<option value = "temp2">temp2</option>
<option value = "_nIFL-LRSYSCPU">nIFL</option>
</select>

Документация

  • querySelectorAll

  • filter

  • map

Оно работает!!!! Большое спасибо за быстрый ответ!! Я не могу добавить идентификатор, поэтому он работает отлично! Спасибо еще раз

Dana 11.06.2019 16:10

Вы можете использовать document.querySelectorAll(), чтобы найти все варианты, которые заканчиваются на -LRSYSCPU. Затем вы можете перебрать их и проверить, выбраны ли они.

let options = document.querySelector("option[value$=-LRSYSCPU]");
for (let i = 0; i < options.length; i++) {
    if (options[i].selected) {
        value = options[i].value;
        text = options[i].text;
        break;
    }
}

Если вы используете jQuery, у него есть расширение селектора :selected, поэтому вы можете сделать это без цикла:

var option = $("option[value$=-LRSYSCPU]:selected");
var value = option.val();
var text = option.text();

Другие вопросы по теме