2013-11-09 5 views
0

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

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

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

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

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

ответ

1

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

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

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

1

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

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

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

go('category'); 

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

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

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

Смежные вопросы