Javascript und Dropdownbox

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Javascript und Dropdownbox

    Hallo @ All,
    erstmal vielen dank das ihr euch Zeit nehmt mein Thema zu lesen.
    Ich habe ein kleines bis großes Problem mit meinen Dropboxen...
    Die Situation sieht wie folgt aus:

    [Dropbox1] Domain
    [Dropbox2]Hostname
    [Dropbox3]IP



    Bei den Dropboxen habe ich je eine ID und sind gefüllt mit einem Array.
    Ich muss das jetzt in JS so schreiben das wenn der User in Box1 etwas auswählt,
    js die id von box 1 nimmt sie mit box 2 vergleicht, dort dann alle ergebnisse ausblendet dessen id anders is...
    das problem dabei ist das wenn man falsch ausgewählt hat, muss es noch möglich sein in der box wieder ein leeres Feld auswählen zu können
    und das dann wieder alles in den anderen beiden boxen zusehen ist.

    Man soll eine Domain eingeben können und es sollen nur dazugehörige hosts und ips angegeben werden.
    Man soll einen Host auswählen können und dnan nur mögliche ips und domains anzeigen in den boxen.
    Und zu guter letzt das gleiche mit denn ips.

    Bsp.
    Ich wähle ne ip und ich habe in dne anderen dropboxen nur das was dazugehören könnte sprich eine domain die
    dessen ids kompatibel sind( ich habe dazu ne datenbank mit verschiedenen id verknüpfunegen, das einfügen des vergleichs bekomme ich hin)
    Nun wähle ich jetzt ne domain aus und er soll mir nur noch die möglichen hostnames anzeigen wo domain_id & ip_id gleich sind
    und ich müsste jetzt nur noch wenige hostnames bis 1 hostname über haben.

    Frage:

    Wie schaffe ich es jetzt das js nicht die sachen komplett löscht aus dem array sondern nur ausblendet aus der dropbox bis ich in der anderen dropbox wieder leer auswähle??
  • Nein Leider nicht, das kannte ich schon mit dem löschen und einfügen....
    Ich darf es allerdings nur ausblenden...
    Mir is da grad so ne Idee gekommen wie wäre es wenn man einfach die einzelnen arrays als neue Arrays setzt,
    jedes mal wenn ich auf leer gehe das neue array leere und mit dem alten fülle?
    da hätte ich aber glaube ich das problem das das mit den anderen dropboxen nicht funktioniert...
    hab ja leider 3 die aufeinander basieren sollen und wenn ich das neue array dann leere ist da wieder alles drinne...
    Aber das könnte man ja dnan auch in die if abfrage machen oder?
    also so grob weiß ich wie ich machen müsste hab aber grad ne schreib blockade>.<
    Wäre cool wnen das iwer umsetzten könnte :D

    Mir ist aufgefallen das das nicht so geht wie ich es mir denke...
    Also neuer ansatz ist das ich auf eine der 3 Boxen gehe und was auswähle, dann tue dies
    Stelle bei allen dropboxen dazugehörigen einträge dar( nach id sortierbar durch die daten bank)
    So jetzt brauch ich für js noch folgende Befehle:(sry ist das erste mal das ich mit js arbeite)
    Dropbox optionen festlegen,
    aus einem mehrdimensionalen array ein element mit einer bestimmten id heraussuchen,
    Abfrage ob dropbox option ausgewählt wurde,
    mehr fällt mir grad nicht ein falls ich noch was brauche poste ich nochmal hier :D
    Ich hoffe es ist jemand von den zig besuchern so nett und schreibt die befehle rein..
    Bittedankeschön ;D
  • Also wie man Einträge entfernt/hinzufügt verstehst du oder?
    Dann ruf doch bei jeder Dropdown-Box bei onklick eine Javascriptfunktion auf, die folgendes tut:
    - alle Elemente aus den anderen Boxen entfernen
    - alle Elemente mit der entsprechenden ID wieder hinzufügen
    Mehr musst du doch nicht machen... Oder hab ich dein Problem falsch verstanden?
  • Nimm doch einfach ein Mehrdimensionales Array:

    Quellcode

    1. <script type="text/javascript">
    2. var domains = new Array();
    3. domains[0] = new Array();
    4. domains[0]["domainname"] = "example.com";
    5. domains[0]["id"] = "xyz";
    6. domains[1] = new Array();
    7. domains[1]["domainname"] = "mydomain.net";
    8. domains[1]["ld"] = "abc";
    9. </script>
    Alles anzeigen

    Dann kannst du danach durchiterieren und nur die Domainnames mit der entsprechenden ID zur Dropdown hinzufügen. Das gleiche natürlich mit den Hosts und IPs.