#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")); });
Комментариев нет:
Отправить комментарий