romero: Viele onclick's in einer schleife

Beitrag lesen

kann mir denn keiner helfen? ich brauche einen tipp, wonach ich z.b. suchen soll im internet.

oder anders gefragt:
muss, dass was ich möchte, in der schleife passieren? oder wo muss es geschehen?

bin ja schon soweit, dass ich die jeweilige "id" separat ansteuern kann.
aber da springt er jedesmal aus dieser function raus,d.h. dass, wenn ich ein 2.mal den button klicke, da die neue eingabe nicht angezeigt wird.

			var ZusatzmatteAuswählen = function()  
			{  
				var z = 0;								//--> Zähler, wenn ungleich ist  
  
				var Zusatz_HTZ = document.Auswahl.Zusatz.options[document.Auswahl.Zusatz.selectedIndex].text;  
				var Zusatz_Variante = document.Auswahl.ZusatzVariante.options[document.Auswahl.ZusatzVariante.selectedIndex].text;  
  
				var x = Zusatz_HTZ + "_" + Zusatz_Variante;  
  
				document.getElementById("msgs").innerHTML = "";  
  
				if( infile_zusatz_tmp.length != 0 )  
				{  
					for( var i = 0; i < infile_zusatz_tmp.length; i++ )  
					{  
						if( x == infile_zusatz_tmp[i] )  
						{  
							infile_zusatz_anzahl_tmp[i]++;  
  
						} else { z++; }  
					}  
  
					if( z == infile_zusatz_tmp.length )  
					{  
						infile_zusatz_tmp.push( Zusatz_HTZ + "_" + Zusatz_Variante );  
						infile_zusatz_anzahl_tmp.push( zaehler );  
					}  
  
				} else {  
						infile_zusatz_tmp.push( Zusatz_HTZ + "_" + Zusatz_Variante );  
						infile_zusatz_anzahl_tmp.push( zaehler );  
					}  
  
				for( var i = 0; i < infile_zusatz_tmp.length; i++ )  
				{  
					document.getElementById( "msgs" ).innerHTML += infile_zusatz_tmp[i] + " / " + infile_zusatz_anzahl_tmp[i] + " ";  
  
					xx = document.createElement( "input" );  
					xx.type ="button";  
					xx.name = "LöscheninfileZusatz";  
					xx.value = "x";  
					xx.id = i;  
  
					document.getElementById( "msgs" ).appendChild(xx);  
					document.getElementById( "msgs" ).innerHTML += "<br>";  
				};  
  
				for( var i = 0; i < infile_zusatz_tmp.length; i++ )  
				{  
					document.getElementById( i ).onclick = new Function( "document.getElementById( \'msgs\' ).innerHTML += " + (infile_zusatz_anzahl_tmp[i]-1) );  
				};  
			};

das ist, wie schon oft gezeigt, die function, wo es, meiner meinung nach, mein problem behandelt werden muss bzw wo meine fragestellung hinein sollte.

aber komm an dieser stelle halt nicht weiter und hoffe sehr auf eure hilfe.

was soll passieren:

aus 2 auswahllisten, wähle ich mir meine entsprechenden teile aus.
zu jeder 1. auswahl wird eine 2. auswahl generiert.

Zusatzmatte(n) für den Bereich D080:

Bitte wählen:
[b]D258_70092[b]
D258_70094
D258_70095
D258_70096

Bitte wählen:
002
004
006
...

danach, nachdem ich die 2 teile ausgewählt habe, drücke ich einen button "auswählen". dabei wird die function ZusatzmatteAuswählen() (s.o.) aufgerufen. dort werden die 2 teile zu einer einheit zusammengefasst, die gleichen teile gezählt und ausgegeben. soweit funzt es einwandfrei.

nun möchte ich gern, dass, wenn ich z.b. ein falsches teil gewählt habe (egal von welcher auswahlliste), es ja auch wieder löschen. aber dynamisch.d.h. dass in meinem großen "ausgabefenster" die einzelnen teile aufgeführt werden, dazu aber ein button sichtbar ist, wo ich einzelne teile bzw. die anzahl der teile wieder löschen kann.

aber es soll auch wieder möglich sein, dass ich diese liste der selektierten und ausgewählten teile bzw. deren anzahl jederzeit erweiteren kann. sozusagen eine riesige schleife, wo alles das passiert, was ich grad beschrieb.

liste der ausgewählten teile und deren anzahl:
[x] => lösch-button

D258_70095_006 / 5 [x]
D258_70095_020 / 5 [x]
D258_70095_042 / 1 [x]

gelöschte teile:

D258_70095_006 / 3 [x] -> 2x geklickt zum löschen
D258_70095_020 / 1 [x] -> 4x geklickt zum löschen
D258_70095_042 / 1 [x]

eventuelle erweiterung der liste:

D258_70095_006 / 8 [x] -> 5x ausgewählt
D258_70095_020 / 3 [x] -> 2x ausgewählt
D258_70095_042 / 1 [x] -> 1x geklickt zum löschen -> soll aus dem array komplett gelöscht werden

bitte gebt mir da einen tipp wie ich wo anzufangen hab.sonst komm ich bei meinem script nicht weiter.

vielen lieben dank.

lg romero