У меня проблемы со следующим кодом: у меня n номеров блока выбора, чьи идентификаторы различаются по значениям, которые принимают переменные ModName и level:
container.innerHTML = '<form id="listToolForm_'+ModName+level+'"><select id="listToolSelect_'+ModName+level+'" onChange="selValue(this.selectedIndex,'+ModName'+, level)"><option value="0">---</option></select></form>';
Затем заполняется поле выборапо значениям, взятым из базы данных (эта часть здесь не очень актуальна).С каждой формой есть скрытый ввод с id = idArg'+ModName+'_lev'+level
, который будет хранить выбранный пользователем индекс, используя onChange
и функцию selValue (x): вот функция selValue(index, ModName, level)
:
function selValue(index, ModName, level){
document.getElementById("idArg"+ModName+"_lev"+level).value = index;
}
Я попробовал установить скрипт var ModName = "SL"
и var level = 0
.Я получаю ошибку: «SL не определен».Другой работающий тест состоит в замене функции, которая запускает onChange
:
onChange="selValue(this.selectedIndex)"
и
function selValue(index){
var level = 0;
var ModName = "SL";
document.getElementById("idArg"+ModName+"_lev"+level).value = index;
}
Так что, если функция, запущенная onChange, имеет один аргумент, код работает,но не при использовании нескольких аргументов.Я подозреваю, что это из-за строки:
onChange = "selValue(this.selectedIndex,'+ModName'+, level)"
Я пытался:
onChange="'+window["selValue"](this.selectedIndex, ModName, level)+'"
без успеха.