Встраивать переменные в очень простую функцию JavaScript

0

Привет, по какой-то причине я не могу заставить эту функцию работать.

function go(type)
{
    location=document.category.example.options[document.category.example.selectedIndex].value
}

Все, что я хочу сделать, это вставить переменную типа, функция go становится неопределенной, когда я пытаюсь сделать что-то вроде

location=document.'+type+'.example.options[document.'+type+'.example.selectedIndex].value

Что я делаю не так?

Теги:

3 ответа

1
Лучший ответ

вместо document.'+type+'.example.options[document.'+type+'.example.selectedIndex].value вы должны написать:

document[type].example.options[document[type].example.selectedIndex].value
1

Вам нужно больше узнать о синтаксисе JavaScript, прежде чем делать что-то подобное.

Вот решение вашей проблемы:

function go(type)
{
    location=document[type].example.options[document[type].example.selectedIndex].value;
}

go('category');

Он использует тот факт, что эти два эквивалента:

a.b === a['b']

Но, очевидно, во второй части b можно заменить динамически, так как это строка.

1

Вы можете использовать document[type].example

Ещё вопросы

Сообщество Overcoder
Наверх
Меню