romero: Viele onclick's in einer schleife

Beitrag lesen

hallöchen,

ich möchte gern mehrere onclick's in einer schleife erstellen,welche dann jeweils die dazugehörige id ansteuern und was ausführen. aber wie mache ich das?

hab schon was versucht, und denke, dass das der anfang ist:

				for( var i = 0; i < infile_zusatz_tmp.length; i++ )  
				{  
					document.getElementById("msgs").innerHTML += infile_zusatz_tmp[i] + " / " + infile_zusatz_anzahl_tmp[i] + " ";  
  
					x = document.createElement( "input" );  
					x.type ="button";  
					x.value = "x";  
					x.id = i;  
					//x.onclick = new Function( "alert(" + i + ");" );  
  
  
					document.getElementById( "msgs" ).appendChild(x);  
					document.getElementById( "msgs" ).innerHTML += "<br>";  
  
					document.getElementById( i ).onclick = new Function( "alert(" + i + ");" );  
				
~~~}  
  
welche dieser sachen sind den korrekt bzw. machen das was ich möchte?  
  
ich will, erst einmal, dass bei jedem button-drücken (je nachdem wie lang dieses array ist) die entsprechende stelle ausgegeben wird. aber er tut entweder nix, also "i" ist undefiniert (was ich nicht verstehe,da es ja in der schleife ist) oder zum anderen nimmt er nur das letzte "i" und führt nur da was aus.  
  
welches ist also das richtige, damit die function ausgeführt wird:  
~~~javascript
  
document.getElementById( i ).onclick = new Function( "alert(" + i + ");" );

oder
x.onclick = new Function( "alert(" + i + ");" );

wenn beide richtig sind, was mache ich denn falsch?

lg romero