Zum Inhalt springen

[javascript] durchsuchen eines Drop-Downs


Empfohlene Beiträge

Geschrieben

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();

Geschrieben


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)

Geschrieben

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.

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...