Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17
  1. #1
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hallo zusammen,

    ich suche schon seit Tagen ein passendes Script, aber ich stehe einfach auf dem Schlauch. Ich habe schon ein Script gefunden, jedoch gibt es dort nur zwei Auswahlfelder.

    Ich jedoch brauche drei bzw. sogar vier. Hier der Code, den ich habe:

    Code:
    <script type="text/javascript">
            var mygroup = new Array();
            
            // reset
            mygroup[0] = new Array();
            mygroup[0][0] = new Option("Bitte wählen Sie zunächst eine Sprache.", 0);
            
            // deutsch
            mygroup[1] = new Array();
            mygroup[1][0] = new Option("eins", 2);
            mygroup[1][1] = new Option("zwei", 4);
            mygroup[1][2] = new Option("drei", 8);
            
            // englisch
            mygroup[2] = new Array();
            mygroup[2][0] = new Option("one",   1);
            mygroup[2][1] = new Option("two",   3);
            mygroup[2][2] = new Option("three", 9);
            
            // spanisch kann ich nicht
            
            // französisch (eigentlich auch nicht)
            mygroup[40] = new Array();
            mygroup[40][0] = new Option("un",    5);
            mygroup[40][1] = new Option("deux",  50);
            mygroup[40][2] = new Option("trois", 500);
            
            // mygroup[ZB_PRIMARY_KEY_SELECT][FORTLAUFENDE_ZAHLEN_AB_0] = new Option(OPTION_TEXT, ZB_PRIMARY_KEY_SUBSELECT)
            
            // alle <option>s des sub-<select> entfernen
            function ResetSubSelect(form, subSelect)
            {
                var e = form.elements[subSelect];
                for (var i = 0; i < e.options.length; ++i) {
                    e.options[i] = null;
                }
            }
            
            // übergebenes Element (sub-<select>) deaktivieren
            function DisableSubSelect(elem)
            {
                elem.disabled = 1;
            }
            
            // übergebenes Element (sub-<select>) aktivieren
            function EnableSubSelect(elem)
            {
                elem.disabled = 0;
            }
            
            // tritt bei onchange in Kraft, bzw. bei der Initiierung
            function ShowSubSelect(elem, subSelect)
            {
                // alle <option>s des sub-<select> entfernen (reset)
                ResetSubSelect(elem.form, subSelect);
                
                // welcher value wurde ausgewählt
                var i = elem.options[elem.selectedIndex].value;
                // sub-<select>
                var s = elem.form.elements[subSelect];
                
                // dem <sub>-select die <option>s aus mygroup zuordnen
                for (var k = 0; k < mygroup[i].length; k++) {
                    s.options[k] = mygroup[i][k];
                }
                
                // war die ausgewählte value 0? dann sub-<select> deaktivieren
                if (i == 0) {
                    DisableSubSelect(s);
                } else {
                    EnableSubSelect(s);
                }
            }
            
            function InitSubSelect()
            {
                // leeres sub-<select> mit mygroup[0] füllen
                ShowSubSelect(document.forms["myform"].elements["myselect"], "mysubselect");
            }
        </script>
    Dieses Script ist total geil, jedoch bekomme ich es nicht hin, aus den Auswahlfeldern drei bzw. vier zu machen.

    Man soll quasi das 1. auswählen (die anderen drei sind disabled) danach dann das zweite (die anderen zwei sind disabled) und zum schluss dann das dritte (der letzte ist noch disabled) und wenn das auch ausgewählt wurde, kann man den 4. auch auswählen....

    Ich denke, ihr wisst was ich meine ^^

    Ich habe da schon alles mögliche verändert, habe ein Auswahlfeld hinzugefügt, hat auch geklappt, jedoch war dies dann nicht disabled.

    Liebe Grüße
    Steven

  2. #2
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    an dem script musst du nix groß schrauben, wie sehen denn deine onchange aufrufe in den select boxen aus?

  3. #3
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hi, danke für deinen ersten Hinweis.

    Hier:

    Code:
    <body onload="InitSubSelect()">
    <form action="" method="get" name="myform">
        <select name="myselect" onchange="ShowSubSelect(this,'mysubselect')">
            <option value="0">Bitte wählen Sie eine Sprache.</option>
            <option value="1">deutsch</option>
            <option value="2">englisch</option>
            <option disabled="disabled" value="3">spanisch</option>
            <option value="40">französisch</option>
        </select>
        
        <select name="mysubselect" disabled="disabled">
        </select>
        
        <input type="submit" />
    </form>
    Das ist quasi die vorlage gewesen. Möchte ja nun wie oben beschrieben, dass da vier Auswahlfelder zu sehen sind und man immer eins nach dem anderen auswählen kann.

    LG Steven
    Geändert von Steven1990 (13-09-2009 um 14:46 Uhr)

  4. #4
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Jetzt musst du für mysubselsct wieder ein onchange definieren:

    Code:
    <form action="" method="get" name="myform">
        <select name="myselect" onchange="ShowSubSelect(this,'mysubselect')">
            <option value="0">Bitte wählen Sie eine Sprache.</option>
            <option value="1">deutsch</option>
            <option value="2">englisch</option>
            <option disabled="disabled" value="3">spanisch</option>
            <option value="40">französisch</option>
        </select>
        
        <select name="mysubselect" onchange="ShowSubSelect(this,'mysubselect2')" disabled="disabled">
        </select>
        <select name="mysubselect2" onchange="ShowSubSelect(this,'mysubselect3')" disabled="disabled">
        </select>
        <select name="mysubselect3" disabled="disabled">
        </select>
        
        <input type="submit" />
    </form>

  5. #5
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hi,

    super, danke für deine Antwort, aber muss ich nicht noch was am Java-Code ändern ?

    Ich habe das jetzt so gemacht, wie du es im Code geschrieben hast, jedoch wenn ich die zweite Auswahlbox auswähle, bleibt die dritte noch disabled.

    Danke für deine mühe.

    LG Steven

  6. #6
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hab dein Script jetzt erst genau angeschaut. Das dient dem Zweck, das zweite Select-Feld mit diversen Werten zu füllen.

    Um eine Verknüpfung von mehreren Selects zu erreichen kannst du folgendes hernehmen:
    Code:
    <script type="text/javascript">
    var fNames=new Array('mainSelect','subSelect1','subSelect2','subSelect3');
    function enableSelect(i) {
      var e=i+1;
    	if (document.getElementsByName(fNames[i])[0].value!='0') {
        document.getElementsByName(fNames[e])[0].disabled=false;
      } else {
       document.getElementsByName(fNames[e])[0].disabled=true;
       document.getElementsByName(fNames[e])[0].options[0].selected=true;
      }
      if (e<(fNames.length-1)) {
      	enableSelect(e);
    	}
    }
    </script>
    Code:
    <body>
    <form action="" method="get" name="myform">
    <select name="mainSelect" onchange="enableSelect(0);">
      <option value="0">bitte wählen</option>
      <option value="1">erste Wert</option>
    </select>
    <select name="subSelect1" onchange="enableSelect(1);" disabled="disabled">
      <option value="0">bitte wählen</option>
      <option value="1">erste Wert</option>
    </select>
    <select name="subSelect2" onchange="enableSelect(2);" disabled="disabled">
      <option value="0">bitte wählen</option>
      <option value="1">erste Wert</option>
    </select>
    <select name="subSelect3" disabled="disabled">
      <option value="0">bitte wählen</option>
      <option value="1">erste Wert</option>
    </select>

  7. #7
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hi,

    super das habe ich mir fast so vorgestellt: )

    Jetzt nur noch eins.

    erstes Auswahlfeld:
    Bitte erst das Land auswählen
    Deutschland
    Schweiz
    Österreich
    etc....

    (Sobald die erste Box ausgewählt ist, soll dann das zweite freigeschaltet werden. Hab ich z.B. Deutschland ausgewählt, sollen folgende Inhalte da stehen: )

    Bitte wählen
    Düsseldorf
    Neuss
    Köln
    etc....

    (Ist die zweite Box ausgewählt, soll die dritte Auswahlbox freigeschaltet werden. Habe ich jetzt z.B. Düsseldorf ausgewählt sollen folgende werte kommen: )

    Bachstraße 24
    Blumenallee 33
    Werstener Dorfstraße 55
    etc....


    Habe ich bei der ersten Box Deutschland angeben und bei der zweiten aber Köln, so muss sich die dritte box ja mit anderen Straßennamen verändern und nicht die selben da stehen, wie bei Düsseldorf.

    Wie bekomme ich das hin ?

    Nochmals vielen Dank für deine Antwort.

    Liebe Grüße
    Steven

  8. #8
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    komme die daten aus einer db?

  9. #9
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hiho,

    ja kommen Sie

  10. #10
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)


  11. #11
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hi, vielen Dank für deine Antwort,

    sorry aber ich verstehe das jetzt nicht.... Ich wollte das ja mit Auswahlfelder machen, aber diese Seiten die du mir geschickt hast, haben damit ja eig. nicht wirklich was tun....

    Gibt es nicht ne Möglichkeit den ganz oberen Script, den ich gepostet habe so umzuscripten das es funktioniert ?

    Danke

    LG Steven

    [EDIT]:
    Habe gerade gesehen, dass http://www.meinvz.net/Register (meinvz) bei der "erweiterten Suche" auch so hat. Da sucht man erst das Land, dann die Bundesland und dann die Stadt... Jetzt habe ich wenigstens ein Beispiel

    So in der Art soll es aussehen.
    Geändert von Steven1990 (13-09-2009 um 18:53 Uhr)

  12. #12
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    du musst das ganze kombinieren.
    deine ganzen daten aus der datenbank von anfang an als javascript-arrays in die seite zu laden macht wenig sinn, wenn du die möglichkeit hast mit einer datenbank zu arbeiten.

    ajax ist dafür das, dass du ohne neuladen der ganzen seite, einzelne daten nachladen kannst.

    folgendes machst du. du nutzt die onchanges wie oben zum de-/aktivieren der einzelnen felder. gleichzeitig übergibst du das value aus dem entsprechenden feld mit hilfe von ajax an eine externe datei die auf einer serverbasierten sprache, wie php, basiert und deine datenbank mit den übermittelten werten ausliest.
    die daten gibst du z. b. als string mittels eines print befehl wieder.

    auf der eigentlichen seite werden sie über eine weiter javascript funktion entgegen genommen, dort zerlegst du den string und baust aus ihm die neuen optionen für das jeweilige select feld.

    wie ajax funktioniert, zeigt dir das tutorial im ersten link.
    wie das erstellen der optionen funzt, zeigt der 2. link

  13. #13
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    hi,

    oha das hört sich nach viel Arbeit an. Das Problem ist, dass ich mit Ajax noch nie wirklich gearbeitet habe und ich weiß deshalb auch nicht was ich wo hin schreiben sollte bzw. kombinieren sollte....

    Ich werde mich mal ransetzen, bezweifle aber dass ich das hinbekommen werde.

    Wie das mit der auswahl funtzt ist schon klar... Ich kann doch eig. auch den Java script code oben benutzen und einfach die daten aus der Datenbank auslesen lassen oder nicht ?

    Das funtzt ja auch mit einem Befehl, oder ?

    Code:
    <?php
    echo "<select name='bewertungen'>\n";
    $result = mysql_query("SELECT * FROM bewertungen ORDER BY allg");
    while ($row = mysql_fetch_array($result)) {
       echo "  <option value='$row[0]'>$row[0]</option>\n";
    }
    echo "</select>\n";
    
    ?>

  14. #14
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    japp, kannst du, aber du willst ja das ganze dynamisch haben. wenn köln, dann straßen a-b und bei düsseldorf straßen c-d,... das kannst du so nicht abfangen.

    es sei denn wie gesagt du gibst alles als js arrays aus, das aber wird, je nachdem wieviel daten du hast, das laden deiner seite unerträglich langsam machen.

    schau dir das ajax tut mal an. ist net schwer.

  15. #15
    Steven1990 ist offline Grünschnabel
    registriert
    13-09-2009
    Beiträge
    9

    AW: Mehrer Auswahlfelder (Verschachtelte Auswahlfelder)

    Hiho

    Danke für deine Antwort. Ja da hast du recht. Ich werde mir das mal anschauen.

    Falls ich das nicht hinbekomme, könntest du mir ein beispiel script eventuell machen ? Du bist da 100%-ig fitter wie ich

    LG Steven

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 17-10-2008, 14:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •