tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
583
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo, bin durch google auf das tolle forum hier gestossen, hätte da ein problem,
    sitz jetzt schon sehr lange dabei, komme einfach nicht drauf.


    Es geht darum um zwei dropdown boxen, die auf einer seite sind, die sich selbst wieder aufruft.
    der erste dropdown füllt sich ja wieder, mit dem ausgewähltem.

    Jedoch der zweite dropdown füllt sich nimmer,deshalb auch nicht das ausgewählte.

    Habe jetzt schon alles versucht von onload, eigene form usw, leider nix.

    Hier mein letzter stand der ding :


    Array,Javascriptcode :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    var_bundesland = new Array(
    new Array(
    new Array("Bad Aussee",1),
    new Array("Bruck/Mur",2),
    new Array("Deutschlandsberg",3),
    new Array("Feldbach",4),
    ...
    ...
    ...
    function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
    var i, j;
    var prompt;
    // empty existing items
    for (i = selectCtrl.options.length; i >= 0; i--) {
    selectCtrl.options[i] = null; 
    }
    prompt = (itemArray != null) ? goodPrompt : badPrompt;
    if (prompt == null) {
    j = 0;
    }
    else {
    selectCtrl.options[0] = new Option(prompt);
    j = 1;
    }
    if (itemArray != null) {
    // add new items
    for (i = 0; i < itemArray.length; i++) {
    selectCtrl.options[j] = new Option(itemArray[i][0]);
    if (itemArray[i][1] != null) {
    selectCtrl.options[j].value = itemArray[i][1]; 
    }
    j++;
    }
    // select first item (prompt) for sub list
    selectCtrl.options[0].selected = true;
       }
    }
    //  End -->
    </script>

    Hier der Code :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    <form name = "auswohl" action="search22.php" method="get" > 
        <input type="hidden" name="sent" value="yes">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        <input type="hidden" name="search" value="<?php echo $search; ?>">
       
          <div align="right">Bitte wählen Sie,um zu Sortieren :
    <SELECT NAME="Make" onchange="fillSelectFromArray(this.form.Var_bundesland, ((this.selectedIndex == -1) ? null : var_bundesland[this.selectedIndex-1]));">
       <option value="-1"<?= ($_GET["Make"] == "-1") ? " selected" : "" ?>>Alle anzeigen</option> 
       <option value="1"<?= ($_GET["Make"] == "1") ? " selected" : "" ?>>Steiermark</option>
       <option value="2"<?= ($_GET["Make"] == "2") ? " selected" : "" ?>>Tirol</option> 
       <option value="3"<?= ($_GET["Make"] == "3") ? " selected" : "" ?>>Vorarlberg</option> 
       <option value="4"<?= ($_GET["Make"] == "4") ? " selected" : "" ?>>Salzburg</option> 
       <option value="5"<?= ($_GET["Make"] == "5") ? " selected" : "" ?>>Oberösterreich</option> 
       <option value="6"<?= ($_GET["Make"] == "6") ? " selected" : "" ?>>Niederösterreich</option> 
       <option value="7"<?= ($_GET["Make"] == "7") ? " selected" : "" ?>>Kärnten</option> 
       <option value="8"<?= ($_GET["Make"] == "8") ? " selected" : "" ?>>Burgenland</option> 
       <option value="9"<?= ($_GET["Make"] == "9") ? " selected" : "" ?>>Wien</option>
    </SELECT>
       
        &nbsp;</div></th>
        <th width="441" bgcolor="#C0C0C0" scope="col"><div align="left">
    <SELECT NAME="Var_bundesland" onload="fillSelectFromArray(this.form.Var_bundesland, ((this.form.Make) ? null : var_bundesland[this.form.Make]));">
              <OPTION>--------------</OPTION>
              <OPTION> </OPTION>
              <OPTION> </OPTION>
              <OPTION> </OPTION>
              <OPTION> </OPTION>
          </SELECT>
     
    <input type="submit" value="Weiter" name="B1">

    hier zu begutachten : http://www.bauexpert.at

    Vielen dank im vorraus, für eure hilfe

    Gruss Mr.Bong
    Geändert von mrbong (29.11.04 um 11:52 Uhr)
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zum Einen... der Aufruf erfolgt zu früh...du musst ihn hinter der Liste "Var_bundesland" platzieren...damit diese Liste zum Zeitpunkt des Funktionsaufrufes auch bekannt ist.

    Zum Anderen...beim Ansprechen der Formularelemente gehst du ähnlich korrekt zu Werke wie beim Erstellen deines Beitrages(versuche bitte, hier und da auch innerhalb von Sätzen eine korrekte Gross/Kleinschreibung zu verwenden, schliesslich möchtest du auch gerne eine korrekte Antwort )

    So herum sprichst du die Elemente korrekt an:
    Code :
    1
    2
    3
    4
    5
    
    <script type="text/javascript">
    <!--
     fillSelectFromArray(document.auswohl.Var_bundesland, ((document.auswohl.Make.selectedIndex == -1) ? null : var_bundesland[document.auswohl.Make.selectedIndex-1]));
    //-->
    </script>
     

  3. #3
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo fatalus,

    Vielen Dank für Deine Hilfe, habe das nun so umstrukturiert,
    der Dropdown befüllt sich zwar nun, jedoch nicht mit der richtigen Auswahl.

    Vielen Dank im Vorraus, für eure Hilfe

    Gruss Mr.Bong
    Geändert von mrbong (15.02.05 um 15:01 Uhr)
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Also bei mir kommt z.B.
    bei Wien....innere Stadt, Leopoldstr. usw...
    bei Steiermark...Bad Aussee, Bruck/Mur usw.

    ich kenn mich in Östereich nicht aus...scheint aber die korrekte Auswahl zu sein.

    Oder meinst du etwas anderes?
     

  5. #5
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo,

    Ich meinte damit, wenn ich zb. Steiermark - Weiz einstelle, danach auf weiter druck,
    steht statt Weiz, - Bad Aussee drin
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Naja...du hast auch nix in dem Skript, was dies bewirken würde.

    Da du PHP verfügbar hast, wäre es das Einfachste, damit auszulesen, welche Option in Var_bundesland gewählt wurde, das in einer JS-Variablen zu speichern, und beim ersten Aufruf des Skriptes dies Option als "selected" zu markieren.
     

  7. #7
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo

    Ja verstehe ich jetzt soweit schon, also mach ich einfach in der Function FillSelectfromArray
    Code :
    1
    
    var Ergebnis = "<?echo $_HTTP_GET_VARS["Var_bundesland"];?>";
    dazu.

    jedoch weiss ich jetzt nicht wo ich den Hebel damit ansetzten soll,
    damit sich das als selected über Javascript so verbindet.

    Vielen Dank im Vorraus
    Gruss !Mr.Bong
     

  8. #8
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Am besten da, wo du die Optionen in die 2te Liste einhängst....vergleiche den value jeder Option mit dieser Variable...stimmt beides überein, selektiere sie und setzte die Variable auf -1
     

  9. #9
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    leider weiss ich jetzt nicht wo du meinst, wo ich das vergleichen soll.

    im Javascript also in der Funktion,
    oder im Teil unterhalb wo das alles in den Dropdown eingetragen wird.

    Leider hab ich vom Javascript noch sehr wenig Erfahrung.

    Vielen Dank im Voraus

    Gruss !Mr.Bong
     

  10. #10
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Soweit ich das überblicke, wäre dies eine gute Stelle:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    if (itemArray != null) {
    // add new items
    for (i = 0; i < itemArray.length; i++) {
    selectCtrl.options[j] = new Option(itemArray[i][0]);
    if (itemArray[i][1] != null) {
    selectCtrl.options[j].value = itemArray[i][1]; 
    }

    itemArray[i][1] ist der value der Option...damit müsstest du die Variable vergleichen.
     

  11. #11
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo,

    Besten Dank das Du mir dabei hilfst, leider komm ich da nicht weiter.

    Habe nun alles durchprobiert, in die Schleife, ausserhalb der Schleife,
    verschiedene Variablen ersetzt damit,jedoch funktioniert das leider nicht so.

    letzter Stand:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    if (itemArray != null) {
    // add new items
    for (i = 0; i < itemArray.length; i++) {
    selectCtrl.options[j] = new Option(itemArray[i][0]);
    if (itemArray[i][1] != null) {
    selectCtrl.options[j].value = itemArray[i][1]; 
    if (itemArray[i][1] != Ergebnis){selectCtrl.options[Ergebnis].selected = true;}
    }
    j++;
     
    }
    // select first item (prompt) for sub list
    selectCtrl.options[0].selected = true;
     
       }


    Danke, fatalus
    Gruss !Mr.Bong
     

  12. #12
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Hab das JS mal etwas "reduziert".
    Die 2.Liste wird beim Laden erstamal per PHP erzeugt, so bleibt die Sache auch ohne JS benutzbar.
    Ansonsten hoffe ich, dass es so funktioniert, wie du es vorhast.

    Beispiel<|>Source
     

  13. #13
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Wahnsinn, Spitze !

    Besten Dank dafür, genau so wollte ich das haben.
    Werd mir das nun alles mal durchstudieren, wie Du das gemacht hast.

    Besten Dank nochmal !

    Gruss !Mr.Bong
     

  14. #14
    mrbong mrbong ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    27
    Hallo !

    Habe nun das Problem, dass ich von mehrfach erzeugten Selectboxen,
    die mehrfache Auswahl zulassen, die ausgewählten Werte per Php
    weiterverarbeiten will.

    Jedoch versuche ich schon die längste Zeit die Übergabe zu verwirklichen.

    Leider ohne Erfolg.

    Vielleicht könnte mir da jemand beiseite stehen,
    und mir das sagen wie man das am besten anstellt.

    zur Ansicht :
    http://www.google.com
    eine oder mehrere Hauptkategorien auswählen und auf weiter.
    Auf dieser nächste Seite, habe ich nun
    "Anlegen" für das leere Textfeld

    oder "Löschen" für das gewählt.

    Da fängts nun an, die übergabe von JS nach PHP.

    Vielen Dank im Voraus.
    mfg Bong
    Geändert von mrbong (24.01.05 um 11:39 Uhr)
     

  15. #15
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Warum die Daten der <select>'s auf den Folgeseiten nicht übermittelt werden, werde ich nicht versuchen herauszufinden, solange dort ein dermassen vermüllter HTML-Code vorzufinden ist....da dürfte jeder HTML-Validator explodieren.

    Da diese Listen jedoch nicht mit JS erzeugt werden, kann ich dir soviel sagen... mit JS hat es höchstwahrscheinlich nix zu tun.
     

Ähnliche Themen

  1. Tooltip, jedoch sich nicht bewegend
    Von Anbrix im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 12.01.06, 18:43
  2. Seite soll sich als popup öffnen bzw messagebox
    Von bennyxy im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 28.04.05, 08:26
  3. Nach dem Intro soll die Seite sich öffnen!
    Von Galindor im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 25.08.04, 15:25
  4. kennt sich jemand hier mit javascipt aus?
    Von ttrenz im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 25.09.01, 15:01