mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 20:57 Benutzername: Passwort: Auto-Login

Thema: JS: Abhängige Dropdown-Einträge sollen Ausgaben erzeugen vom 14.09.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JS: Abhängige Dropdown-Einträge sollen Ausgaben erzeugen
Autor Nachricht
h42
Threadersteller

Dabei seit: 06.08.2007
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 14.09.2007 13:03
Titel

JS: Abhängige Dropdown-Einträge sollen Ausgaben erzeugen

Antworten mit Zitat Zum Seitenanfang

Hallo miteinander!
Ich bin neu hier und durch mein erstes Problem auf dieses Forum gestoßen. ich hoffe, hier Hilfe zu finden - die Seite muss ziemlich schnell fertiggestellt sein.

Ziel meiner Seite:
Ich habe das Ding mal der Übersicht halber auf das Beispiel eine Furhparks für dieses Forum umgeschrieben.

Dropdowns:
Hier trifft man die Vorauswahl (Automarke), die die unteren Dropdowns bedingt.
Diese sind nochmal aufgeteilt in reale Modelle und nummerierte Modelle.
Die Überschneidung, dass ein VW in der Audi-Auswahl erscheint, ist gewollt.

Bis hierhin funktioniert auch alles.
Nun will ich aber - was in meinem Code bisher überhaupt nicht vorkommt - das eigentlich Ziel, nämlich eine Ersatzteilliste erstellen. Die soll folgendermaßen aussehen:

In einem späteren (frei wählbaren) Tabellenfeld (gleiche Reihe, beliebige Spalte) will ich die Anzahlen der Ersatzreifen bzw. -Lampen einfügen können. Das soll eine feste Zahl sein, die mir der Code vorgibt. Ob die in einer Dropdown-Box oder sonstwas steht, ist mir erstmal egal, wenn auch einfacher Text schöner wäre.

Wie bekomme ich DAS hin?
Ich bin für jede Unterstützung dankbar!

Code:
Code:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Fuhrpark und Ersatzteillager</title>
<script language="Javascript">
<!-- Start
function update_auswahl()
{
var kategorieAuswahl = document.forms.verzeichnis.kategorie;
var realwagen01Auswahl = document.forms.verzeichnis.realwagen01;
var realwagen02Auswahl = document.forms.verzeichnis.realwagen02;
var nummernwagen01Auswahl = document.forms.verzeichnis.nummernwagen01;
var nummernwagen02Auswahl = document.forms.verzeichnis.nummernwagen02;
 if (kategorieAuswahl.options
[kategorieAuswahl.selectedIndex].
value == "Volkswagen")
{
realwagen01Auswahl.options[0] = new Option("Lupo");
realwagen01Auswahl.options[1] = new Option("Golf");
realwagen01Auswahl.options[2] = new Option("Kaefer");
realwagen02Auswahl.options[0] = new Option("Lupo");
realwagen02Auswahl.options[1] = new Option("Golf");
realwagen02Auswahl.options[2] = new Option("Kaefer");
nummernwagen01Auswahl.options[0] = new Option("VW 0");
nummernwagen01Auswahl.options[1] = new Option("VW 1");
nummernwagen01Auswahl.options[2] = new Option("VW 2");
nummernwagen02Auswahl.options[5] = new Option("VW 5");
nummernwagen02Auswahl.options[0] = new Option("VW 0");
nummernwagen02Auswahl.options[1] = new Option("VW 1");
nummernwagen02Auswahl.options[2] = new Option("VW 2");
}
else if (kategorieAuswahl.options
[kategorieAuswahl.selectedIndex].
value == "Audi")
{
realwagen01Auswahl.options[0] = new Option("Audi 80");
realwagen01Auswahl.options[1] = new Option("Audi 000");
realwagen01Auswahl.options[2] = new Option("Audi A6");
realwagen02Auswahl.options[0] = new Option("Audi 80");
realwagen02Auswahl.options[1] = new Option("Audi 000");
realwagen02Auswahl.options[2] = new Option("Audi A6");
nummernwagen01Auswahl.options[0] = new Option("Audi 0");
nummernwagen01Auswahl.options[1] = new Option("Audi 1");
nummernwagen01Auswahl.options[2] = new Option("Audi 2");
nummernwagen02Auswahl.options[0] = new Option("Audi 0");
nummernwagen02Auswahl.options[1] = new Option("Audi 1");
nummernwagen02Auswahl.options[2] = new Option("Audi 2");
}
}
// Ende -->
</script>
</head>

<body>

<p>Automarke:
<form name="verzeichnis"><em>überschrift</em></p>
<select size="1" name="kategorie" onchange="update_auswahl()">
      <option value="Volkswagen" selected="selected">Volkswagen</option>
      <option value="Audi">Audi</option>
    </select>
<br>
Reale Modelle:
<br>
1:
<br>
    <select size="1" name="realwagen01">
                            <option selected="selected">Lupo</option>
                            <option>Golf</option>
                            <option>Kaefer</option>
    </select>
<br>
2:
<br>
                          <select size="1" name="realwagen02">
                            <option selected="selected">Golf</option>
                            <option>Lupo</option>
                            <option>Kaefer</option>
                          </select>
<br>
nummerierte Modelle
<br>
<select size="1" name="nummernwagen01">
                            <option selected="selected">VW 0</option>
                            <option>VW 1</option>
                            <option>VW 2</option>
                          </select>
<br>
2:
<br>
<select size="1" name="nummernwagen02">
                            <option selected="selected">VW 1</option>
                            <option>VW 0</option>
                            <option>VW 2</option>
                          </select>
                          </form>
</body>
</html>


Wie gesagt fehlen jetzt noch zu jedem Auto zwei fest zugehörige Werte (in der finalen Version drei), die abhängig von dem gewählten Automodell in einem Tabellenfeld erscheinen.
Diese will ich hinterher noch aufsummieren können.
Das ist der Kern der Sache, daher fett *zwinker*


Bisherige Versuche:
Ich habe versucht, innerhalb der
Code:
function update_auswahl()
neue Variablen zu definieren (Bsp. "realwagenreifen01" , die ich direkt in den
Code:
if (kategorieAuswahl.options
[kategorieAuswahl.selectedIndex].
value == "Audi")

- Teilen mitdefiniert und in seperate select-Sektionen im Body eingefügt habe habe. Das habe ich im Prinzip genauso gemacht wie für die vorhandenen Elemente auch.
Leider ohne Erfolg.
Weiterhin habe ich eine neue Funktion geschrieben, in denen ich neue Variablen ("realwagenreifen0x"...) definiert habe und diese Funktion unter dem vorhandenen Vode platziert. (btw.: wie ist die korrekte Syntax für eine weitere Funktion?)
Aufgerufen habe ich das Ganze in einem
Code:

<select size="1" name="kategorie_reifen" onchange="update_auswahl()">


Auch das hat irgendwie nicht funktioniert.
Die Dropdowns sind zwar vorhanden, aber nur mit den Werten, die ich ihnen als <option> im bod< zuweise und sie verändern sich NICHT auswahlabhängig, bleiben also einfach stehen.

Am "Einfachsten" bzw. elegantesten sehe ich folgende Möglichkeit:
Im Scriptteil die Elemente
Code:

realwagen02Auswahl.options[0] = new Option("Audi 80");

irgendwie um die gewünschten Optionen "Anzahl Reifen" sowie "Anzahl Lampen" zu ergänzen und diese dann korrekt aufzurufen.
Ich habe aber keine Ahnung, wie man das richtig hinbekommt, musste ich nach diversen erfolglosen Versuchen feststellen *Schnief*
Für ein kleines Muster sowie die korrekte Einbindung in den Body wäre ich sehr dankbar.


Zuletzt bearbeitet von h42 am Mi 19.09.2007 12:58, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 14.09.2007 20:55
Titel

Antworten mit Zitat Zum Seitenanfang

du merkst es vielleicht selbst .. dass du bisher keine antwort be-
kommen hast, ist in meinen augen recht einfach: nen dicken
brocken code hinschmeissen und warten, dass sie jemand durch-
wühlt.

reduzier den code auf das wesentliche und stell präzise fragen,
bzw schreib dazu was du probiert hast, welche ideen du hattest,
bzw was für fehler/probleme es in der ein oder anderen lösung
gibt.

dann wird dir sicher auch jemand versuchen zu helfen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
h42
Threadersteller

Dabei seit: 06.08.2007
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 19.09.2007 12:36
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo.
Ja, habe ich bemerkt. Ich habe nun mein erstes Posting dahingehend verändert:

- Code verkürzt
- (m.E.) mögliche Ideen für Lösungswege aufgezeigt, an denen ich aber gescheitert bin
- Das Problem nochmal etwas genauer beschrieben.

Ich hoffe, das hat das Posting übersichtilicher gemacht.
Ich bitte das zu entschuldigen, Jeder macht mal Fehler Lächel
  View user's profile Private Nachricht senden
h42
Threadersteller

Dabei seit: 06.08.2007
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 19.09.2007 13:36
Titel

Ergänzung

Antworten mit Zitat Zum Seitenanfang

Hallo.
Ich habe mal eine Variante wiedergefunden, die allerdings nicht funktioniert hat:
in die
Code:
function update_auswahl()

habe ich folgende Zeilen eingefügt:
Code:

var reifen01Auswahl = document.forms.verzeichnis.reifen01;
var lampen01Auswahl = document.forms.verzeichnis.lampen01;


unter die real- und nummernwagen-Schleifen habe ich neue if-Schleifen gesetzt, die folgendermaßen aussehen:
Code:

if (kategorieAuswahl.options
[realwagen01Auswahl.selectedIndex].
value == "Lupo")
{
reifen01Auswahl.options[0] = new Option("1");
reifen01Auswahl.options[1] = new Option("2");
lampen01Auswahl.options[0] = new Option("1");
lampen01Auswahl.options[1] = new Option("2");

...wobei die Optionen mit den Arrays [1] eigentlich sinnlos sind, denn es soll ja bloß ein einziger fester Wert zugewiesen werden. (sehe ich gerade)

Analog das Ganze für Golf & Kaefer.

Eingefügt im Body habe ich das dann per
Code:

<select size="1" name="reifen01">
                            <option selected="selected">1</option>
                            <option>2</option>
                            </select>

...findet hier vielleicht schon jemand den/die Feher?
Wäre zwar mit großem Tippaufwand verbunden, aber Hauptsache: läuft.


Zuletzt bearbeitet von h42 am Mi 19.09.2007 13:37, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Nach Dropdown auswahl neues Dropdown erscheinen
PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben!
[php] Möglichkeiten php-Ausgaben in html Website einzubauen
Die Letzten 5 Einträge in SQL
PDF Formulare (Einträge speichern)
pornografische einträge im gästebuch
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.