Есть раскрывающийся список:
<select id='dropDown' onchange='somethingDoer(this);'>
<option value='0' arrayType='companies'>ООО "Рога и Копыта"</option>
<option value='1' arrayType='companies'>ООО "Ромашка"</option>
<option value='2' arrayType='companies'>ЗАО "Вектор"</option>
<option value='0' arrayType='personas'>Иванов И.И.</option>
<option value='1' arrayType='personas'>Петров П.П.</option>
<option value='2' arrayType='personas'>Сидоров С.С.</option>
</select>
Список составлен из двух массивов данных "companies" и "personas". Мне хотелось бы, чтобы при выборе опции из выпадающего списка в функцию somethingDoer(this); передавалось не только значение value 0-2, т.е. порядковый номер записи внутри массива, но и название самого массива, чтобы функция смогла обратиться к нему напрямую. Как это реализовать, либо если конструкция некорректная, как нужно ее переписать, чтобы получить желаемый результат?
Вы наверно хотите что-то подобное:
function somethingDoer(dropDown) {
var option = dropDown.options[dropDown.selectedIndex];
console.log(option.value, option.getAttribute('arrayType'));
}
<select id='dropDown' onchange="somethingDoer(this)">
<option value='0' arrayType='companies'>ООО "Рога и Копыта"</option>
<option value='1' arrayType='companies'>ООО "Ромашка"</option>
<option value='2' arrayType='companies'>ЗАО "Вектор"</option>
<option value='0' arrayType='personas'>Иванов И.И.</option>
<option value='1' arrayType='personas'>Петров П.П.</option>
<option value='2' arrayType='personas'>Сидоров С.С.</option>
</select>
function somethingDoer(e){
console.log(e.value +':'+ e.options[e.selectedIndex].getAttribute("arrayType"));
}
<select id='dropDown' onchange='somethingDoer(this);'>
<option value='0' arrayType='companies'>ООО "Рога и Копыта"</option>
<option value='1' arrayType='companies'>ООО "Ромашка"</option>
<option value='2' arrayType='companies'>ЗАО "Вектор"</option>
<option value='0' arrayType='personas'>Иванов И.И.</option>
<option value='1' arrayType='personas'>Петров П.П.</option>
<option value='2' arrayType='personas'>Сидоров С.С.</option>
</select>
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости