ага, так и сделал. Выводит select вот теперь понять родителя и потом найти все дочки и посчитать данный элемент. Если верстка поменяется, то это все поломается.
console.log(e); - там ссылки и на родителя и на соседей, и потомки, и индекс текущего элемента.
В целом какая цель у всего этого? Может есть какое-то просто решение для конкретно вашей задачи.
Илья Воропаев: Цель из выбранного option подставить значения в другие ячейки формы. Все работает и все супер, но если несколько форма то нужно в одном участке для первой формы написать document.getElementsByTagName('div')[3], для каждой последующей +1 т.е. для второй формы document.getElementsByTagName('div')[4]
В этом случае можно или сделать каждому элементу id вешать отдельный обработчик для него, или перебирать их в цикле и вешать обработчик на каждый.
Как-то так
var select = document.getElementsByClassName('d1');
for (var i = 0; i < select.length; i++) {
select[i].onchange = function(e){
console.log(e.target);
}
}
или если структура везде идентична, то как-то так (не помню точное название параметра)
select.onchange = function(e){
document.getElementsByTagName('div')[e.index]
}
"var select = document.getElementsByClassName('d1');
for (var i = 0; i < select.length; i++) {
select[i].onchange = function(e){
console.log(e.target);
}" - это не работает, я тоже та подумал. Вот по поводу второго варианта не знал интересно, сейчас попробую на будущее.