Wat je vraagt kan wel via JavaScript, maar het is nogal lastig. Ik zal je alvast een opzetje laten zien, waaruit blijkt hoe je dynamisch <options> aan een <select> kunt toevoegen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Creating options on the fly</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = init;
function init () {
var select1 = document.getElementById ('select1');
var select2 = document.getElementById ('select2');
remove_options (select2);
var my_option5 = document.createElement ('option');
my_option5.text = "nieuw optie 5";
my_option5.value = "5";
select2.add (my_option5, null);
var my_option6 = document.createElement ('option');
my_option6.text = "nieuw optie 6";
my_option6.value = "6";
select2.add (my_option6, null);
var my_option7 = document.createElement ('option');
my_option7.text = "nieuw optie 7";
my_option7.value = "7";
select2.add (my_option7, null);
}
function remove_options (select_id) {
var n = select_id.options.length;
for (i = 0; i < n; i++) {
select_id.remove (0);
}
}
</script>
</head>
<body>
<form>
<p>
<select id="select1">
<option value="1">een</option>
<option value="2">twee</option>
</select>
</p>
<p>
<select id="select2">
<option value="3">drie</option>
<option value="4">vier</option>
</select>
</p>
</form>
</body>
</html>
Ik gok dat je met Internet Explorer surft. FireFox en Opera doen het namelijk wel. Als je in onderstaand script de 'null' waarden vervangt door het cijfer 0, doet hij het wél in Internet Explorer en Opera, maar niet meer in FireFox:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Creating options on the fly</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = init;
function init () {
var _select1 = document.getElementById ('select1');
var _select2 = document.getElementById ('select2');
remove_options (_select2);
var my_option5 = document.createElement ('option');
my_option5.text = "nieuw optie 5";
my_option5.value = "5";
_select2.add (my_option5, null);
var my_option6 = document.createElement ('option');
my_option6.text = "nieuw optie 6";
my_option6.value = "6";
_select2.add (my_option6, null);
var my_option7 = document.createElement ('option');
my_option7.text = "nieuw optie 7";
my_option7.value = "7";
_select2.add (my_option7, null);
}
function remove_options (select_id) {
var n = select_id.options.length;
for (i = 0; i < n; i++) {
select_id.remove (0);
}
}
</script>
</head>
<body>
<form>
<p>
<select id="select1">
<option value="1">een</option>
<option value="2">twee</option>
</select>
</p>
<p>
<select id="select2">
<option value="3">drie</option>
<option value="4">vier</option>
</select>
</p>
</form>
</body>
</html>
[edit]
Dus regel 20, 25 en 30 in dit voorbeeld.
[/edit]
heb het ff geprobeerd...
het script werkt inderdaad wel...
maar het zou eigenlijk niet een onload window script moeten zijn..
het zou dus zo moeten zijn dat als ik optie een kies in het eerste dat in het tweede optie 4 verdwijnt..
maar als ik dan vervolgens weer optie 2 in de eerste kies dat optie 4 wel weer terug komt... iemand ?>