HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - dropdown (<select>) - frage

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

dropdown (<select>) - frage

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
scorp1on



Anmeldungsdatum: 10.02.2006
Beiträge: 2

BeitragVerfasst am: 10.02.2006 22:18:58    Titel: dropdown (<select>) - frage Antworten mit Zitat

hi leute!

ich bin gerade dabei ein aufwendigeres formular zu gestalten und bin jetzt auf ein problem gestossen wofür ich nirgends einen zufriedenstellende lösung gefunden habe. hoffentlich könnt ihr mir helfen:

ich möchte 2 select-felder die beide aus einer mysql-db gefüttert werden. (das ist nicht das problem)

das problem ist nun, dass sich, nach der auswahl im ersten select, die auswahl im 2. select entsprechend ändern soll. nämlich eine neue mysql-abfrage machen und ins select schreiben.

anm.: die seite ist in php geschrieben und ich möchte (wenn möglich) die sache ohne reload realisieren. ich habe diesen thread absichtlich ins java-forum geschrieben, da die lösung wahrscheinlich nicht in php machbar ist.

vielen dank für eure mühe!

mfg scorp1on
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
l-roy
Häufiger Poster


Anmeldungsdatum: 14.02.2006
Beiträge: 64

BeitragVerfasst am: 14.02.2006 15:40:49    Titel: Antworten mit Zitat

1. Es ist ohne Reload möglich.

2. Es ist etwas komplizierter.

Hier eine schematische Lösung des Problems:

Zur jeden Option im ersten Select-Feld gibt es einen eindeutigen Werte. Dieser wird via onchange() des ersten Select-Fields an eine JavaScript-Funktion übergeben wird.

Bei der Generierung der Seite müssen alle möglichen Ergebnisse der vom ersten Feld bestimmten Abfragen für Feld 2 feststehen und abgefragt werden. Diese werden in ein JavaScript-Array (oder auch mehrere) geschrieben.

Dieses Array wird bei Änderung des ersten Feldes hinzugezogen, um Feld 2 zu füllen. Dazu entscheidet die aufgerufene Funktion, welches Array genutzt wird, um Feld 2 zu füllen.

Code:

document.form1.feld2.options[document.form1.feld2.options.length]=new Option('$inhalt',$wert)


Vorher mußt du bei onchange()-Aufruf des ersten Feldes Feld 2 geleert haben.

Kurzum: es geht, ist aber ab einer gewissen Menge an Punkten in Feld 1 ressourcenfressend (alle möglichen Abfragen werden im Vornherein ausgeführt, unabhängig von der tatsächlichen Nutzung) und völlig aufwändig (Fallunterscheidungen, langer Quelltext). Ich würde bei onchange einen Reload auslösen, wenn´s denn JavaScript sein soll.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
scorp1on



Anmeldungsdatum: 10.02.2006
Beiträge: 2

BeitragVerfasst am: 14.02.2006 20:34:15    Titel: Antworten mit Zitat

guten abend,

wenns ohne reload nicht oder nur umständlich oder resourcenfressend geht, dann werde ichs rein in php lösen und auf js verzichten.

danke für die mühe.

mfg

scorp1on
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.