Zum Inhalt springen

Javascript: mehrere Selectfelder auf einmal ändern


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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.

Geschrieben

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.

Geschrieben


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.

Geschrieben

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

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