Исходный код
echo '<script>';
echo "function filtover(element) { element.style.color='red'; }";
echo "function filtout(element) { element.style.color='black'; }";
echo "function filtOpt()";
echo "{";
for ($i = 1; $i <= $amGroups; $i++)
{
echo "if(!filtOpt.option" . $i . ") filtOpt.option" . $i . " = '" . $params[$i - 1][0] . "=" . $_SESSION[$params[$i - 1][0]] . "';";
}
echo "switch(opt)";
echo "{";
for ($i = 1; $i <= $amGroups; $i++)
{
for ($j = 1; $j <= $amElements[$i - 1]; $j++)
{
echo "case '" . $i . "_" . $j . "': ";
for ($m = 1; $m <= $amElements[$i - 1]; $m++)
{
if ($m == $j) echo"document.getElementById('opt" . $i . "_" . $m . "').className = 'checkruby-on';";
else echo"document.getElementById('opt" . $i . "_" . $m . "').className = 'checkruby';";
}
echo "break;";
}
}
echo "case 'iWantToSee': ajaxRequest(";
for ($i = 1; $i <= $amGroups; $i++)
{
echo "filtOpt.option" . $i;
if ($i != $amGroups) echo" + '&' + ";
}
echo ");"; // цифры - это размеры ajax-блока, появляющегося при отсутствии результатов работы фильтра
echo "}";
echo "}";
echo '</script>';
Что не так в исходном коде
Неумение пользоваться штатными средствами порождает странные решения.
Большинство задач решаются просто, нужно только узнать, как именно.
Видимо, должна быть какая-то чуйка, чтобы понимать: насколько твоё решение вписывается в рамки общепринятых приёмов. Просто помни, что если ты работаешь с инструментом старше 20 лет, и не занимаешься разработкой ядерного реактора, то твою задачу с помощью твоего инструмента уже решали десятки тысяч людей — узнай, как они это делали.