Программирование > JavaScript & JScript
переделать функцию
(1/1)
:
Есть функция которая выбирает из группы chekbox`ов отмеченные и вставляет их значение в textarea:
function selectrowsfrom(table,inform)
{
var selectrows = \'\';
for (i = 0; i < document.forms[inform].fields.length; i++)
{
if (document.forms[inform].fields.checked == true)
{
selectrows = selectrows+document.forms[inform].fields.value+\',\\n\\t\';
}
}
if (selectrows == \'\') {selectrows = "*";}
else
{selectrows = selectrows.substring(0, selectrows.length-3);}
if (!document.forms[inform].fields.length) {selectrows = document.forms[inform].fields.value;}
document.queryform.sqlquery.value = \'SELECT\\t\'+selectrows+\'\\nFROM \'+table;
}
Функция работает, если name чекбоксов = fields ( )
ВОПРОС: Как бы переделать функцию, чтобы она работала если имена чекбоксов будут
name01[1] name01[2] ... name02[1] name02[2] ... name20[1] ... а не просто fields?
Спасибо за помощь
Evgeny:
Делаешь это в цикле, в котором генерируешь имена name01, name02 ..., а потом используешь eval.
Например.
Раньше было:
--- Код: ---
if (document.forms[inform].fields[i].checked == true)
{ selectrows = selectrows+document.forms[inform].fields[i].value+\',\\n\\t\';
}
--- Конец кода ---
Теперь:
--- Код: ---
eval(\'tempbool=document.forms[inform].name\'+k+\'.fields[i].checked\');
if (tempbool == true)
{ eval("selectrows = selectrows+document.forms[inform].name"+k+".fields[i].value+\',\\n\\t\'");
}
--- Конец кода ---
k - индекс имён.
:
а как имена сгенерировать.. например если так их и назвать name01 name02 name03...?
Навигация
Перейти к полной версии