Hallo zusammen,
ich habe vor, abhaengig davon welches Element einer Auswahlliste angeklickt wird die onclick-Operationen mehrerer Buttons anzupassen.
Noch konkreter habe ich eine Auswahlliste mit zwei Optionen (Jalousie 1 und 2):
Die Buttons sehen beim Aufruf der Seite so aus:
Die entsprechende JS-Funktion sieht folgendermaßen aus:
Klicke ich nun eine Option an werden mir mittels der alert-Funktion auch die korrekten Strings angezeigt, sprich
12+01+01+02
12+02+01+02
12+03+01+02
fuer Jalousie 1
und
12+01+02+02
12+02+02+02
12+03+02+02
fuer Jalousie 2
Klicke ich dann aber einen der Buttons an schmeisst mir die alert-Funktion, die ich zu Debugzwecken in die Funktion bedienung(string){...} eingebaut habe um den uebergebenen String anzuzeigen:
12+03+01+02
12+03+01+02
12+03+01+02
fuer Jalousie 1
12+03+02+02
12+03+02+02
12+03+02+02
fuer Jalousie 2
sprich alle Buttons haben dann die Funktion des jeweils dritten (und letzten Buttons).
Kann mir jemand helfen und sagen wo mein (Denk-)Fehler liegt?
Danke schonmal!
Mfg Max
EDIT:
Die Zeile
habe ich jetzt zum einfacheren Verständnis mal durch
ersetzt.
Klicke ich nun (nachdem ich eine Auswahl getroffen habe) auf einen der Buttons (egal welchen und egal ob ich vorher Jalousie 1 oder 2 ausgewaehlt habe) gibt er mir "4" aus. Jetzt verstehe ich ueberhaupt nichts mehr, i wird doch maximal 3 (=anzButtons).
EDIT 2:
Also, dass 4 anstatt 3 ausgegeben wurde, lag an meiner for Schleife, das habe ich korrigiert.
Aber warum jeder Button die 3 ausgibt, verstehe ich immer noch nicht.
ich habe vor, abhaengig davon welches Element einer Auswahlliste angeklickt wird die onclick-Operationen mehrerer Buttons anzupassen.
Noch konkreter habe ich eine Auswahlliste mit zwei Optionen (Jalousie 1 und 2):
HTML:
<select id="multibutton0001" name="multibutton0001" class="schalter_00">
<option onclick="multibuttonHandler(12,02,0001,01,3)">Jalousie 1</option>
<option onclick="multibuttonHandler(12,02,0001,02,3)">Jalousie 2</option>
</select>
Die Buttons sehen beim Aufruf der Seite so aus:
HTML:
<img onclick="bedienung('12+01+01+02')" src="/mediaset02/02_1.png" name="button1" width="58" height="65" border="0" id="button1" >
<img onclick="bedienung('12+02+01+02')" src="/mediaset02/08_1.png" name="button2" width="58" height="65" border="0" id="button2" >
<img onclick="bedienung('12+03+01+02')" src="/mediaset02/03_1.png" name="button3" width="58" height="65" border="0" id="button3" >
Die entsprechende JS-Funktion sieht folgendermaßen aus:
Code:
function multibuttonHandler(index, page, multibutton, selectedElement, anzButtons)
{
var numberOfSelectedMultibutton=Number(multibutton);
for(i=1; i<=anzButtons; i+=1)
{
var numberOfElementToChange=Number(i);
if(numberOfElementToChange<10)
{
var elToChange = document.getElementById("button"+numberOfElementToChange);
var bedienungsstring = index;
bedienungsstring+="+";
bedienungsstring+="0";
bedienungsstring+=Number(i);
bedienungsstring+="+";
bedienungsstring+="0";
bedienungsstring+=selectedElement;
bedienungsstring+="+";
bedienungsstring+="0";
bedienungsstring+=page;
alert(bedienungsstring);
elToChange.onclick = function(){bedienung(bedienungsstring);};
}
else
{
// fuer die Loesung belanglos
}
}
}
12+01+01+02
12+02+01+02
12+03+01+02
fuer Jalousie 1
und
12+01+02+02
12+02+02+02
12+03+02+02
fuer Jalousie 2
Klicke ich dann aber einen der Buttons an schmeisst mir die alert-Funktion, die ich zu Debugzwecken in die Funktion bedienung(string){...} eingebaut habe um den uebergebenen String anzuzeigen:
12+03+01+02
12+03+01+02
12+03+01+02
fuer Jalousie 1
12+03+02+02
12+03+02+02
12+03+02+02
fuer Jalousie 2
sprich alle Buttons haben dann die Funktion des jeweils dritten (und letzten Buttons).
Kann mir jemand helfen und sagen wo mein (Denk-)Fehler liegt?
Danke schonmal!
Mfg Max
EDIT:
Die Zeile
Code:
elToChange.onclick = function(){bedienung(bedienungsstring);};
Code:
elToChange.onclick = function(){alert(i);};
Klicke ich nun (nachdem ich eine Auswahl getroffen habe) auf einen der Buttons (egal welchen und egal ob ich vorher Jalousie 1 oder 2 ausgewaehlt habe) gibt er mir "4" aus. Jetzt verstehe ich ueberhaupt nichts mehr, i wird doch maximal 3 (=anzButtons).
EDIT 2:
Also, dass 4 anstatt 3 ausgegeben wurde, lag an meiner for Schleife, das habe ich korrigiert.
Aber warum jeder Button die 3 ausgibt, verstehe ich immer noch nicht.
Zuletzt bearbeitet: