Eintrag eines SELECT-Feldes dynamisch auswählen können
Yeti
- vb-script
Hallöschen!
Ich stehe vor folgendem Problem: Ich habe eine Combobox (ActiveX-Steckrein aus der Micro$oft Forms 2.0 Bib) und ein SELECT-Feld in einem HTML-Formular.
Die Combobox habe ich mittlerweile über VBScript mit Einträgen aus der Datenbank vollgekriegt. Jetzt will ich auch noch, dass abhängig davon, welcher Eintrag in der Combobox ausgewählt wird, ein dazu passender Eintrag im SELECT-Feld ausgewählt wird.
Mein bisheriger Code...
formularname.selectfeld.options(umwandel_array(formularname.combobox.listindex)).selected = true
... funktioniert leider nicht. (Object expected) :-(
Ich kann allerdings mit z.B.
MsgBox formularname.selectfeld.options(2).selected
nachschauen, ob das 3. Element angewählt wurde und
MsgBox umwandel_array(formularname.combobox.listindex)
liefert mir auch die gewünschte Zahl (nämlich 2). Info: Das umwandel_array wird vorher für jeden Index mit dem Index des SELECT-Feldes, dass bei Klick ausgewählt werden soll, belegt. Die ComboBox kann beliebig viele Einträge enthalten, das SELECT-Feld hat nur 3.
Habe bisher hauptsächlich mit JavaScript gearbeitet aber hier kann ich für den IE alleine skripten und mit JavaScript lässt sich die ActiveX-ComboBox nicht ansprechen.
Irgendwelche Tipps?
Vielen Dank im Voraus!
Der Yeti
Hi nochmal,
ich kann Dir den genauen Quellcode leider nicht posten, da ich VBA nicht kenne.
Ich habe das Problem bei PHP einfach mit einer IF Kontrolle gelöst.
(Einfach echo 'selected' wenn eintrag und auswahl übereinstimmen.
Es geht aber sicher auch einfacher mit vba oder?
Gruss,
Andre
Richtig. So hab ich's ja bisher auch gemacht. Jetzt soll aber in der Combobox ein Eintrag ausgewählt werden können, ohne das bei onChange oder onBlur ein Postback zum Server gemacht werden muss und das Ganze wieder mit PHP verarbeitet wird.
Mit JScript klappt es auch ganz schön und genau so wie ich es in VBS versucht habe, aber das soll wohl nicht so sein.
Im Grunde genommen will ich die VBS-Version von onChange="formularname.selectfeld.options[umwandel_array[formularname.combobox.selectedIndex]].selected = true" haben.
Also wenn in der Combobox ein Element ausgewählt wurde, soll dynamisch der zugehörige (umwandel_array verknüpft das) Eintrag im SELECT-Feld ausgewählt werden.
Noch anschaulicher: Ich habe ca. 300 Spediteure, die alle entweder per Bahn, LKW oder Schiff anliefern können. Der Spediteur steht jetzt in der Combobox und "Bahn, LKW oder Schiff" ist das SELECT-Feld. Jetzt ist ja der Sinn der Combobox, dass man auch einen neuen Spediteur eingeben kann, wenn ein neuer dazu kommt. Dafür soll die Liste "Bahn, LKW oder Schiff" auswählbar sein. Soweit so gut.
Das Problem ist jetzt, bei den schon vorhandenen Spediteuren automatisch die richtige Transportart mit anzuwählen. Das ist wichtig, weil ein Spediteur durchaus auch alle drei Transportarten bedient, aber unterschiedlich behandelt werden muss.
Der Yeti