For-Schleife
Meike
- java
Hallo !
Danke nochmals für die vielen Antworten auf mein Problem aber nun stehe ich erneut vor einem Problem.
Ich habe ein Formular mit 31 Dropdownboxen die ausgewählten Werte werden in eine Datenbank eingetragen.
Nun möchte ich die Werte korrigieren, d.h. die Dropdownboxen sollen die ausgewählten Werte darstellen aber das klappt irgendwie nicht.
<script language="javascript">
function Korrektur()
{
for (i=0;i<=31;i++);
{
if (document.test.elements[i].value == "anwesend")
{
for (j=0;j<=31;j++);
document.test.elements[j].options[1].selected = 1;
}
}
}
</script>
Aber leider funktioniert das nicht, kann mir jemand einen Tip geben ?
danke
Meike
Hi!
for (j=0;j<=31;j++);
^^^
Die for-Schleife bezieht sich immer nur auf die nachfolgende Anweisung, und die reicht bis zum nächsten Semikolon (natürlich unter Beachtung von geschweiften Klammern). Dein Code wiederholt also eine leere Anweisung. Um das zu erreichen, was Du möchtest, muß das Semikolon weg.
Gruß
Steffen
for (j=0;j<=31;j++)
^^
Wie viele Werte bearbeitet eine Schleife, die mit
0 beginnt und alle Zahlen kleiner oder gleich 31
verwendet?
Hi again!
<script language="javascript">
function Korrektur()
{
for (i=0;i<=31;i++);
{
Hier muss das Semikolon weg, wie Steffen es gesagt hat. Ausserdem zaehlst Du von 0 bis 31, setzt also 32 Checkboxen voraus. Aendere "i<=31" in "i<31".
if (document.test.elements[i].value == "anwesend")
So wird der Wert der ausgewaehlten Option *nicht* abgefragt. Siehe mein Posting in Deinem anderen Thread: <58941.html>
{
for (j=0;j<=31;j++);
Hier dasselbe. Semikolon weg und j<31.
document.test.elements[j].options[1].selected = 1;
Ist richtig, einfacher ist aber vielleicht
document.test.elements[j].selectedIndex = 1;
}
}
}
</script>
Nochmal das Script mit allen Aenderungen:
function Korrektur() {
var select_box;
for (i=0; i<31; i++) {
select_box = document.test.elements[i];
if (select_box.options[select_box.selectedIndex].value == "anwesend") {
for (j=0; j<31; j++) {
document.test.elements[j].selectedIndex = 1;
}
}
}
}
So lange, Calocybe