Bilder mit JS, src und if/else austauschen
eMatt
- javascript
Hallo Forum!
Habe das Problem, dass ich Bilder als Checkboxen darstellen will und, dass sich diese nicht mehr auf sozusagen "checked=false" setzen lassen.
D.h. ich hab 10 der folgenden Kombinationen:
<img name="CheckboxBild" src="Checkbox_notChecked.bmp" onclick="CheckboxSetzen(i);">
<input style="display:none;" type="checkbox" name="GlaubtWirMachen" value="CorporateDesign">
Anstatt i steht natürlich jedes Mal eine Zahl zwischen 0 un 9 drin.
Und jetzt will ich mit folgendem Code die Bilder austauschen und die tatsächlichen Checkboxen auf "checked=false", bzw. "checked=true" setzen, je nachdem, ob eine Checkbox markiert ist oder nicht:
function CheckboxSetzen(i) {
if(document.Formular.GlaubtWirMachen[i].checked = false) {
document.Formular.GlaubtWirMachen[i].checked = true;
document.Formular.CheckboxBild[i].src = "Checkbox_checked.bmp";
}
else {
document.Formular.GlaubtWirMachen[i].checked = false;
document.Formular.CheckboxBild[i].src = "Checkbox_notChecked.bmp";
}
}
Allerdings tut sich gar nichts! Nur, wenn ich das if/else weglasse und nur noch folgendes stehen lasse, funktioniert es:
function CheckboxSetzen(i) {
document.Formular.GlaubtWirMachen[i].checked = true;
document.Formular.CheckboxBild[i].src = "Checkbox_checked.bmp";
}
Dann allerdings natürlich nur noch wenn ich das erste Mal drauf klicke.
Kann mir jemand helfen?
Vielen Dank schon mal im Voraus.
Gruß,
eMatt
Hallo eMatt,
ein "=" ist eine Zuweisung, zu Vergleichen benötigt man zwei "==".
Gruß, Jürgen
Hallo Jürgen!
ein "=" ist eine Zuweisung, zu Vergleichen benötigt man zwei "==".
Ja klar, oh Mann, das mach ich immer wieder falsch! Bin echt durch Visual Basic vorbelastet! Danke.
Gruß,
eMatt
function CheckboxSetzen(i) {
if(document.Formular.GlaubtWirMachen[i].checked = false) {
statt eines Vergleiches (der mit == gehen würde) reicht es hier zu schreiben:
if(!document.Formular.GlaubtWirMachen[i].checked) {
Struppi.