22. Juli 200421 j 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();
22. Juli 200421 j 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)
22. Juli 200421 j 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.
22. Juli 200421 j Kurze Frage: Warum das ganze? Wenn man das DropDown selektiert und den String eingibt, wird er automatisch selektiert
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.