Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Как получить значение data-* из option?

#javascript #jquery #html5


Работаю с элементом select. Из отдельного его option пытаюсь получить данные, которые
я вставил в атрибут, для последующих вычислений.
 Пробовал:

https://gist.github.com/vasilukwolf/37b977547c4d0b03a82861f2482bc719,

однако результат ничего не вывел. Как получить data-* атрибуты в переменную или массив?
    


Ответы

Ответ 1



document.getElementsByTagName("option") возвращает коллекцию элементов, где нет метода getAttribute. Сперва необходимо получить какую-то конкретную ноду и уже потом работать с атрибутами. Например, так: $('select#model').change(function() { var selectedOption = this.options[this.selectedIndex]; console.log(selectedOption.getAttribute("data-taxw1")); }); Более подробней про HTMLSelectElement.

Ответ 2



Что-то вроде такого. Закомментировал строчку, которая вызывала ошибку. $("#start-date-input").datepicker(); $("#end-date-input").datepicker(); $.datepicker.setDefaults($.datepicker.regional['ru']); $('select#model').change(function() { var val = $(this).val(); console.log(val); var opt = this.querySelector('[value="' + val + '"]'); console.log(opt.getAttribute('data-taxw1')); //console.log(document.getElementsByTagName("option").getAttribute("data-taxw1")); });

Комментариев нет:

Отправить комментарий