Philipp: Select Field Wert auswaehlen!

Hallo

Ich habe eine Select Box mit allen Laendern dieser Erde. Wird ein Element ausgewaehlt so wird der dazugehoerige laendercode in einer Datenbank gesperrt. Mein Element schaut so aus:

<select id="basic_country" size="1" onblur="loeschen()">
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
...
</select>

Den dazugehoerigen Laendercode kann ich wiefolgt auslesen:
document.getElementById('basic_country').options[document.getElementById('basic_country').options.selectedIndex].value

Das Problem dass ich nun habe ist der umgekerrte Weg: Wie kann ich wenn ich aus der Datenbank den Wert "AT" auslese in meinem Selectfeld Oesterreich als Wert anzeigen lassen?

Gruss
Philipp

  1. Hallo Philipp,

    Wie sieht deine Datenbank aus?

    Gruß,

    Dieter

    1. Hallo DIeter

      Wie sieht deine Datenbank aus?

      Nun ja in der Datenbank wird halt nur der Laendercode gespeichert, also DE fuer Deutschland AT fuer Oesterreich usw. Ich habe diesen Laendercode im HTML zur Verfuegung und moechte nun wenn ich den Wert AT habe das mir Oesterreich in dem zuvor gelisteten Select Field angezeigt wird

      Philipp

      1. Hallo Philipp,

        Zum Auslesen der Datenbank brauchst du ja irgendeine serverseite Sprache. Das Befuellen der select-Box erfolgt in einer Schleife. Wenn die Bedingung Laendercode aus der DB == gesuchter Laendercode erfuellt ist, schreibst Du eine 'selected' in die Option. Was genau ist dabei dein Problem?

        Gruß,

        Dieter

        1. Hallo nochmals

          Zum Auslesen der Datenbank brauchst du ja irgendeine serverseite Sprache. Das Befuellen der select-Box erfolgt in einer Schleife. Wenn die Bedingung Laendercode aus der DB == gesuchter Laendercode erfuellt ist, schreibst Du eine 'selected' in die Option. Was genau ist dabei dein Problem?

          Nein, meine Box ist hardcoded in HTML und schaut so aus:

          <select id="basic_country" size="1" onblur="loeschen()">
          <option value="AF">Afghanistan</option>
          <option value="AL">Albania</option>
          <option value="DZ">Algeria</option>
          <option value="AS">American Samoa</option>
          <option value="AD">Andorra</option>
          <option value="AO">Angola</option>
          <option value="AI">Anguilla</option>
          <option value="AQ">Antarctica</option>
          usw.
          </select>
          Ich krieg nun in einem XML Dokument den Wert "AF", und moechte das nun dieses Land markiert ist. Und ich weiss nicht wie ich das hier machen kann das ich die select Box das Land anzeigt welches mit dem Value AF uebereinstimmt. Muss irgendwie mit Javascript doch gehen oder?

          Gruss
          Philipp

          1. Hi,
            eine solche Schleife kannst du mit JS bauen.

            <script language="Javascript" type="text/text/javascript">
            var sel_land = "";

            <?php if(isset($basic_country)) echo "sel_land = "".$_POST['basic_country']."";\n"; ?>
            for (var i=0; i<document.forms.formularname.basic_country.options.length; i++)
                    {
                    if(document.forms.formularname.basic_country.options[i].value == sel_land) document.forms.formularname.basic_country.selectedIndex = i;
                    }
            </script>

            Nenne in dem Beispiel deine Selectbox basic_country und das Formular formularname oder passe das JS an deine Bedürfnisse an, dann sollte es klappen.

            mfg
            Knusperklumpen

          2. hi,

            Und ich weiss nicht wie ich das hier machen kann das ich die select Box das Land anzeigt welches mit dem Value AF uebereinstimmt. Muss irgendwie mit Javascript doch gehen oder?

            ja, aber immer noch die frage: wo ist das problem?

            die nötige bedingung hast du doch selber schon formuliert:
            "... mit dem Value AF uebereinstimmt"

            also durchlaufe die optionen in einer schleife so lange, bis du die option findest, deren value "AF" ist. setze bei dieser die eigenschaft selected auf true (oder selectedIndex des selectfeldes entsprechend), und breche die schleife ab.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hi

              also durchlaufe die optionen in einer schleife so lange, bis du die option findest, deren value "AF" ist. setze bei dieser die eigenschaft selected auf true (oder selectedIndex des selectfeldes entsprechend), und breche die schleife ab.

              Ja das ist eine moeglichkeit, aber habe gehofft das ich irgendwie direkt zugriff habe auf den selected value und das ich mir so eine Schleife erspare.

              Noch eine Frage; Kann ich dieses in Javascript realisieren oder brauch ich hierzu wirklich eine CGI Programm aufzurufen?

              Gruss
              Philipp

              1. hi,

                Ja das ist eine moeglichkeit, aber habe gehofft das ich irgendwie direkt zugriff habe auf den selected value und das ich mir so eine Schleife erspare.

                [ ] du hast dir selectedIndex angesehen.

                Noch eine Frage; Kann ich dieses in Javascript realisieren oder brauch ich hierzu wirklich eine CGI Programm aufzurufen?

                wenn du alle möglichen werte vorher zum client überträgst, sollte auch eine rein clientseitige lösung technisch machbar sein - vorhandensein von $technik vorausgesetzt.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }