Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[javascript] durchsuchen eines Drop-Downs

Empfohlene Antworten

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


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)

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.