Ich habe dieses Formular mit ein paar Auswahl Dropdowns und basierend auf was wir auswählen, zeigen wir und andere Dropdown-Menüs ausblenden. Wenn ich den Wert All
wähle, dann reagiert die geo
Auswahl auf den ausgewählten Wert, aber wenn ich den Wert Test
wähle, verschwindet die function family
Auswahl nicht. Irgendein Grund warum?Ausblenden und anzeigen wählen Option basierend auf anderen wählen Wert
Ich muss auch den Wert von function family
zu 0
zuweisen, wenn der Test ausgewählt ist. Hilfe wäre willkommen.
Der Haupt wählen:
<select name="scope" onchange="javascript:sync_scope()">
<option value="1">All </option>
<option value="10">Test</option>
</select>
Javascript:
function sync_scope() {
var scope = document.form.scope.value;
document.form.geo.style.display = (scope == "1") ? "block" : "none";
document.form.function_family.style.display = (scope == "10") ? "none" : "block";
}
Die HTML
<select name="geo">
<?php foreach ($geos as $geo) : ?>
<option value="<?php echo $geo['id']; ?>"><?php echo utf8_encode($geo['name']); ?></option>
<?php endforeach; ?>
</select>
<select name="function_family" id ="function_family">
<option value="0" <?php selected($function_family, 0); ?>>All functions</option>
<?php foreach ($functions as $function) : ?>
<option value="<?php echo $function['id']; ?>"><?php echo utf8_encode($function['name']); ?></option>
<?php endforeach; ?>
</select>
'onSomeEvent =" javascript: doSomething() "' ist redundant. 'javascript:' wird in '' verwendet, um anzuzeigen, dass der 'href' JavaScript-Code ist, der ausgeführt werden soll, aber innerhalb eines Event-Handlers wird bereits JavaScript ausgeführt. Der einzige Grund, warum es keinen Fehler verursacht, ist, weil 'javascript:' als eine Bezeichnung behandelt wird, die gültige Syntax ist. –
@NiettheDarkAbsol danke für dein Feedback, auch wenn ich das Javascript entferne: es versteckt immer noch nicht die Auswahl –