Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2002 Teil von März

SELFHTML Forumsarchiv
Auswahl eines Listeneintrag bei Pull-Downs!

Informationsseite
  1. Seite (JAVASCRIPT) Auswahl eines Listeneintrag bei Pull-Downs! von Stephan, 24. 03. 2002, 13:30
nach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Stephan, 24. 03. 2002, 13:30

Hallo,

ich habe folgendes Problem. Ich möchte die einzelnen Einträge eines Pulldown-Menüs überprüfen lassen. Ich weise einer Variablen einen Wert zu. Stimt dieser mit dem Value des Listeineintrags überein, dann soll dieser ausgeählt erscheinen.

Bitte helft mir, habe bisher nur wenig Ahnung von JS!
Anbei mal das, was ich zusammengeschustert habe. Es soll während des Ladens überprüft werden, ob ein Listeneintrag mit dem Wert 125 existiert. Wenn ja, dann soll dieser ausgewählt werden.

Vielen Dank im voraus an alle Helfer

Gruss,
Stephan

<html>
<head>
<title>Test</title>
<script language="JavaScript">
<!--
function CheckAuswahl()
{
var x= "125"
}

{
 for(i=0;i<document.Testform.Auswahl.length;++i)
 if (document.Testform.Auswahl.options[i].value == x);
 document.Testform.Auswahl.options[i].selected == true
}

//-->
</script>

</head>
<body>
<form name="Testform" action="">
<select name="Auswahl" size="5" onLoad="CheckAuswahl()">
<option value="10">10</option>
<option value="50">50</option>
<option value="60">60</option>
<option value="125">125</option>
<option value="150">150</option>
</select>
</form>
</body>
</html>

nach obennach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Robert Bamler, 24. 03. 2002, 13:57

Hallo,

das script ist schon fast richtig.

»» function CheckAuswahl()
»» {
»» var x= "125"
»» }
  ^^^
Hier endet die Funktion.

»» {
  ^^^
Hier beginnt ein neuer Anweisungsblock.

»» [...]
»» for(i=0;i<document.Testform.Auswahl.length;++i)
                                               ^^^
"i++" ist AFAIK gegenüber "++i" vorzuziehen.

»» if (document.Testform.Auswahl.options[i].value == x);
                                                       ^^^
Der Strichpunkt muss an das ende der darunterliegenden Zeile.

»» [...]

»» <body>
»» <form name="Testform" action="">
»» <select name="Auswahl" size="5" onLoad="CheckAuswahl()">
                                   ^^^^^^^^^^^^^^^^^^^^^^^
                            das muss in den einleitenden body-Tag

Lass die beiden markierten geschwiffenen Klammern ("}" und "{") weg und führe die anderen Veränderungen wie oben beschrieben aus, dann müsste es funktionieren.

Tipp: sobald du einen Eintrag gefunden hast, kannst du aus der Schleife Ausbrechen:

for(i=0;i<document.Testform.Auswahl.length;i++)
  if (document.Testform.Auswahl.options[i].value == x) {
    document.Testform.Auswahl.options[i].selected == true;
    break;
  }

viel Erfolg,

Robert

http://www.designauswahl.here.de
mit kostenlosem Webseiten-Generator ROBE.dit
[more than a HTMLE.dit]

nach obennach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Stephan, 24. 03. 2002, 14:21

»» Tipp: sobald du einen Eintrag gefunden hast, kannst du aus der Schleife Ausbrechen:

»» for(i=0;i<document.Testform.Auswahl.length;i++)
»»   if (document.Testform.Auswahl.options[i].value == x) {
»»     document.Testform.Auswahl.options[i].selected == true;
»»     break;
»»   }

Erstmal vielen Dank für die schnelle Antwort. Ich bekomme jetzt zwar keine Fehlermeldung mehr, aber der Listeneintrag erscheint noch immer nicht markiert. Er soll nach dem Laden ausgewählt erscheinen, als ob ich ihn mit der Maus angeklickt hätte.

Hier meine abgeänderte Version:

<html>
<head>
<title>Test</title>
<script language="JavaScript">
<!--
function CheckAuswahl()
{
var x= "125"

 for(i=0;i<document.Testform.Auswahl.length;++i)
 if (document.Testform.Auswahl.options[i].value == x){
 document.Testform.Auswahl.options[i].selected == true;
 break;
}
}
//-->
</script>

</head>
<body onLoad="CheckAuswahl()">
<form name="Testform" action="">
<select name="Auswahl" size="5">
<option value="10">10</option>
<option value="50">50</option>
<option value="60">60</option>
<option value="125">125</option>
<option value="150">150</option>
</select>
</form>
</body>
</html>

Was mache ich noch falsch????

nach obennach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Stephan, 24. 03. 2002, 14:26

»» for(i=0;i<document.Testform.Auswahl.length;++i)

Ich habe natürlich auch noch diese Zeile in i++ abgeändert.

Aber das hat auch nicht funktioniert.

nach obennach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Robert Bamler, 24. 03. 2002, 18:37

Hallo,

»» Erstmal vielen Dank für die schnelle Antwort. Ich bekomme jetzt zwar keine Fehlermeldung mehr, aber der Listeneintrag erscheint noch immer nicht markiert. Er soll nach dem Laden ausgewählt erscheinen, als ob ich ihn mit der Maus angeklickt hätte.

»» document.Testform.Auswahl.options[i].selected == true;
                                                 ^^^^
Hab ich noch vergessen: Hier kommt ein einfaches Gleichheitszeichen hin ("="). In JavaScript unterscheidet sich der Zuweisungsoperator ("=") von dem Vergleichsoperator ("=="):

Der Zuweisungsoperator weist als Nebenwirkung der linken Seite den Wert der rechten Seite zu und gibt als Rückgabewert den anschließenden Wert beider Seiten zurück. Der Vergleichsoperator vergleicht die linke und die rechte Seite und gibt true zurück, falls beide den gleichen Wert haben, andernfalls false. Der Vergleichsoperator hat keinen Nebenwirkungen.

Robert

http://www.designauswahl.here.de
mit kostenlosem Webseiten-Generator ROBE.dit
[more than a HTMLE.dit]

nach obennach unten

Auswahl eines Listeneintrag bei Pull-Downs!

Die folgende Nachricht zum Thema stammt von: Stephan, 24. 03. 2002, 19:50

»» Hab ich noch vergessen: Hier kommt ein einfaches Gleichheitszeichen hin ("="). In JavaScript unterscheidet sich der Zuweisungsoperator ("=") von dem Vergleichsoperator ("=="):

»» Der Zuweisungsoperator weist als Nebenwirkung der linken Seite den Wert der rechten Seite zu und gibt als Rückgabewert den anschließenden Wert beider Seiten zurück. Der Vergleichsoperator vergleicht die linke und die rechte Seite und gibt true zurück, falls beide den gleichen Wert haben, andernfalls false. Der Vergleichsoperator hat keinen Nebenwirkungen.

Vielen Dank Robert, klappt jetzt prima. Genau so hatte ich mir das nämlich vorgestellt!!!

Danke!!!!!!!

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2002 Teil von März

© 1998-2008 Seite Impressum, Software: Classic Forum