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: mehrere Selectfelder auf einmal ändern

Empfohlene Antworten

Veröffentlicht

Ich erzeuge mit PHP eine tabellarische Ausgabe, also etliche Zeilen nach dem gleichen Muster.

unter anderem habe ich so etwas je Zeile:


sprintf("<input type=\"hidden\" name=\"rowid[]\" value=\"%s\">",

                        $datensatz['rowid'] );

außerdem je Zeile eine Selectbox mit Einträgen aus einer Datenbanktabelle:

<select name="herkunft[1]">

<option value="0" selected >*** Auswahl ***</option>

<option value="1">bla</option>

<option value="4">blubb</option>

<option value="3">laber, laber</option>

</select>

Dabei entspricht die 1 im Index (name="herkunft[1]") dem value des inputs rowid[] in dieser Zeile. Darüber hinaus gibt es ein weiteres Select-Feld, das im Prinzip mit dem hier beschriebenen identisch ist, aber "defaultwert" heißt.

Wie kann ich jetzt bei Änderung des Selectfelds "defaultwert" alle anderen Selectfelder (siehe oben) per javascript (jaja, ich weiß, das ist aber garantiert eingeschaltet) deren value "0" ist, auf den in "defaultwert" ausgewählten Eintrag setzen?

Ich stehe da momentan total auf dem Schlauch...

Bin dankbar für jeden Ansatz.

Danke im Voraus

Reinhold

wenn du den select-Feldern eine durchnummerierte ID gibst (select_1234), dann kannst du die ja als schleife durchgehen.

Oder du gehst alle Felder des Formulars durch und prüfst ob es ein Select-Feld ist.

Danke für die schnelle Reaktion. :):)

wenn du den select-Feldern eine durchnummerierte ID gibst (select_1234), dann kannst du die ja als schleife durchgehen.

Offen gestanden verstehe ich das nicht. Hast du vielleicht einen kleinen Codeschnipsel? Übrigens weiß ich nicht, wie viele Selektfelder da sind, das kann jedesmal anders sein. Allerdings ist der Name der Felder durch den numerischen Index garantiert eindeutig.

.

Oder du gehst alle Felder des Formulars durch und prüfst ob es ein Select-Feld ist.

Das geht so sicher nicht, weil da noch andere Selektfelder sind, die damit nix zu tun haben.

Ich nehme mal an, das Prioblem kommt daher, dass ich zu wenig Erfahrung mit Javascript habe. ;)

Trotztdem vielen Dank.


var count_of_select = 20;

for(var i = 0; i < count_of_select, i++)

{

  var element_id = 'select_'+i;

  var select_element = document.getElementById(element_id);

}

wenn du die Anzahl der Elemente nicht kennst, kannst du auch
searchall = true;

var i = 0;

do

{

i++;

 ... code wie oben

 if(typeof(select_element) == 'undefined') searchall = false;

}

while(searchall)

prüfen ob das Element mit der ID existiert, wenn nicht brichst du ab.

Moin,

vielen Dank für den Schnipsel Code, der hat Wunder gewirkt. Ich habe Variante 1 für meine Zwecke etwas erweitert und das klappt bestens. Das Problem mit der Anzahl Elemente löst sich in so fern, dass ich sie zwar nicht weiß, aber sie halt jetzt im PHP-Code mitzähle und dynn dynamisch in das javascript schreibe.

Jetzt schreiben meine Programme schon Programme ... das ist der erste Schritt, sich selber weg zu rationalisieren...:D:D:D

Du hast was bei mir gut, Aiun!

Reinhold

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.