Habría que ver el contexto, pero parece un caso semejante a este:
Código:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name="form1" method="post" action="">
<input type="button" name="button1" id="button1" value="Botón">
<input type="button" name="button2" id="button2" value="Botón">
<input type="button" name="button3" id="button3" value="Botón">
<script>
for(var i=1,l=4;i<l;i++){
document.getElementById('button'+i).onclick=function(){alert(i);};
}
</script>
</form>
</body>
</html>
Que se soluciona de esta manera (envolviendo la iteración en una función anónima y haciendo que la misma se ejecute en el momento con los valores adecuados):
Código:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name="form1" method="post" action="">
<input type="button" name="button1" id="button1" value="Botón">
<input type="button" name="button2" id="button2" value="Botón">
<input type="button" name="button3" id="button3" value="Botón">
<script>
for(var i=1,l=4;i<l;i++){
(function(i){
document.getElementById('button'+i).onclick=function(){alert(i);};
})(i);
}
</script>
</form>
</body>
</html>
Aunque la librería que usás creo que tiene un método bind que puede ayudarte.