Sin ver todo el código no se me ocurre por qué pueda ser, tal vez algún error en el código (¿Has mirado la Consola de Errores?), o un return.
Otra cosa, NO uses eval de esa forma

, al parecer estás queriendo usarlo para convertir a número ¿o me equivoco?, si ese es el objetivo usa parseInt, porque eval lo que hace es interpretar una cadena como código.