arâmetros de passagem em ouvintes de eventos com loo

Apenas uma pergunta rápida, alguém pode me dizer por que isso não funciona e como corrigi-lo? Essencialmente, é pegar um grupo de linhas da tabela em HTML e anexar dinamicamente eventos de clique a ele

for (var a=index; a<rows.length; a++) {
    tr = rows[a];
    tr.onclick = function() { DropDownManager.onItemClick(tr, a); };
    tr.observe("click", function() { DropDownManager.onItemClick(tr, a); });
}

O problema com esse código é que os valores passados para DropDownManager.onItemClick são sempre os últimos itens do loop, não é isso que estou procurando, pois eu queria que eles fossem o valor atual nesse estágio do loop. Percebo que estou perdendo algo bastante simples, mas não posso para a minha vida resolver isso!

questionAnswers(4)

yourAnswerToTheQuestion