Zum Inhalt springen

Javascript: mehrere Selectfelder auf einmal ändern


Reinhold

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen


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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...