HELLinG3R Geschrieben 22. Juli 2004 Geschrieben 22. Juli 2004 Hallo Leute, ich habe hier ein Problem: Ich habe eine Drop-Down Liste, daneben liegt ein normales Textfeld. Ich möchte nun erreichen, dass, sobald man im Textfeld was eingibt, im Dropdown nach diesem String gesucht wird und das erste Gefundene Ergebnis selektiert wird. Allerdings bekomme ich ständig irgendwelche objekt-fehler.... hier mal die funktion, auf die das inputfeld bei jedem tastendruck zugreift: function search(x) { //Index ermitteln, wo Suchstring im Namen vorkommt und Eintrag selektieren for (i=0; i <= document.arbeitsgruppen.ag_liste.length; i++) { var field_value = document.arbeitsgruppen.ag_liste.options[i]; field_value = field_value.toLowerCase(); if (field_value.indexOf(x.toLowerCase()) > -1) { document.arbeitsgruppen.ag_liste.selectedIndex = i; break; } } } in folgender Zeile kommt der Fehler "Das Objekt unterstützt die Eigenschaft oder Methode nicht": field_value = field_value.toLowerCase(); allerdings verstehe ich das nicht, eigentlich sollte doch der inhalkt von field_value ein string sein und damit toLowerCase() verstehen.... ?!? ich bin neuling auf javascript boden, allerdings mache ich schon ein jahr lang Java (und da scheiterts nicht an sowas) Auch das umlegen auf zwei variablen hat nichts gebracht: var field_value = document.arbeitsgruppen.ag_liste.options[i]; field_value_small = field_value.toLowerCase();
kills Geschrieben 22. Juli 2004 Geschrieben 22. Juli 2004 function search(x) { //Index ermitteln, wo Suchstring im Namen vorkommt und Eintrag selektieren for (i=0; i <= document.arbeitsgruppen.ag_liste.length; i++) { var oField = document.arbeitsgruppen.ag_liste.options[i]; var sFieldValue = oField.value.toLowerCase(); if (sFieldValue.indexOf(x.toLowerCase()) > -1) { document.arbeitsgruppen.ag_liste.selectedIndex = i; break; } } } du hast die Methode to Lowercase auf das Feld-Object ausgeführt, anstatt auf den Inhalt ( Object.value)
HELLinG3R Geschrieben 22. Juli 2004 Autor Geschrieben 22. Juli 2004 ok, danke! hat zwar noch einen kleinen fehler geworfen, aber jetzt passts. es muss var oField = document.arbeitsgruppen.ag_liste.options[i].text; heissen; if (sFieldValue.indexOf(x.toLowerCase()) != -1) { leifert ein besseres Ergebnis.
Spike Geschrieben 22. Juli 2004 Geschrieben 22. Juli 2004 Kurze Frage: Warum das ganze? Wenn man das DropDown selektiert und den String eingibt, wird er automatisch selektiert
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden