Hallo Zusammen,
ich möchte im Select Feld "Standort" einen Standort auswählen und je nach Auswahl die entsprechenden Datenbanken in "SmartMAM DB" anzeigen lassen (Siehe Bild).
Ich habe das ganze mit festen options probiert und dann über eine if-Abfrage per Javascript und .add/.remove geändert. Hat prima funktioniert.
Jedoch passiert das Ganze live aus einer SQL Abfrage, wie man auf dem Screen schön sieht. (Beide Select Felder sind bereits gefüllt, jedoch das zweite disabled).
Nun mein Problem. Ich speichere mir den Inhalt des ersten Select Feldes welches per PHP befüllt wird in meiner JS-Funktion...
und versuche dort die ID des ersten Feldes mit der ID des zweiten Feldes abzugleichen. Klappt wunderbar, jedoch will ich das zweite Selectfeld (SmartMAM DB) eben NUR von dem soeben ausgewählten Eintrag abhängig machen. D.h. ich wähle Standort A und bekommen wirklich nur Datenbank A1 und A2 angezeigt.
js:
Ich komme einfach nicht drauf! Selbst mit .selected oder .selectedIndex bekomme ich keine richtigen Ergebnisse.
Ich hoffe jemand von euch weiß einen Rat.
Vielen Dank,
Simon
ich möchte im Select Feld "Standort" einen Standort auswählen und je nach Auswahl die entsprechenden Datenbanken in "SmartMAM DB" anzeigen lassen (Siehe Bild).
Ich habe das ganze mit festen options probiert und dann über eine if-Abfrage per Javascript und .add/.remove geändert. Hat prima funktioniert.
Jedoch passiert das Ganze live aus einer SQL Abfrage, wie man auf dem Screen schön sieht. (Beide Select Felder sind bereits gefüllt, jedoch das zweite disabled).
Nun mein Problem. Ich speichere mir den Inhalt des ersten Select Feldes welches per PHP befüllt wird in meiner JS-Funktion...
PHP-Code:
<form id="form1" name="tets" method="post" action="created.php">
<div align="center">
<table>
<tr>
<th>Server:</th>
<th>Port:</th>
<th>Standort:</th>
<th>SmartMAM DB:</th>
</tr>
<tr>
<th><input type="text" name="Server" placeholder="Enter IP here" /></th>
<th><input type="text" name="Port" placeholder="Enter Port here" /></th>
<!-- select field Standort -->
<th><select id ="StandortSelect" name="Standort" onchange="changeOptionsOnSelect();">
<option value="standard">Bitte wählen...</option>
<?php //output of Standort from database
while($row = mysqli_fetch_assoc($res)) { ?>
<option id ="opt1" value ="<?= $row['oid'] ?>"><?= $row['oname'] ?> – <?= $row['okuerzel'] ?></option>
<?php } ?>
</select>
</th>
<!-- select field SmartMAM DB -->
<th><select disabled="disabled" id ="mamDBSelect" name="mamDB">
<option value="standard" selected="selected">Bitte wählen...</option>
<?php //output of smartmamDB from database
while($res = mysqli_fetch_assoc($sql)) { ?>
<option id ="opt2" value ="<?= $res['oid'] ?>"><?= $res['mamDB'] ?></option>
<?php } ?>
</select>
</th>
</tr>
</table>
js:
PHP-Code:
function changeOptionsOnSelect() {
var a = document.getElementById('StandortSelect');
var b = document.getElementById('mamDBSelect');
b.disabled = "";
//var option = document.createElement("option");
//prepare Array
var StandortID = new Array();
var mamID = new Array();
for(var i = 0; i < a.options.length; i++) {
//alert(a.options[i].value);
StandortID = a.options[i].value;
//mamID = b.options[i].value;
for(var k = 0; k < b.options.length; k++) {
mamID = b.options[k].value;
if(StandortID == mamID) {
//option.text = b.options[i].innerHTML;
b.options.length = 4;
//b.add(option,b.option[k]);
alert(StandortID + " - " + mamID);
}
else {
//alert("Keine Einträge gefunden!");
}
}
}
// b.add(option, b.options[i]);
}
Ich hoffe jemand von euch weiß einen Rat.
Vielen Dank,
Simon
Kommentar