我想在下拉列表中填充依赖于另一个下拉列表的值,也就是说,当我在第一个控件中选择一个项目时,第二个控件应该加载相应的“子项”。
这是我的JS代码(在HTML头文件中):
<script type="text/javascript">
var tipos = new Array("Tipo1", "Tipo2", "Tipo3");
var subtipos_aux = new Array();
subtipos_aux[0]="Esto no deberia aparecer";
subtipos_aux[1]="Subtipos para TIPO1|Subtipos para TIPO1";
subtipos_aux[2]="Subtipos para TIPO2|Subtipos para TIPO2";
subtipos_aux[3]="Subtipos para TIPO3|Subtipos para TIPO3|Subtipos para TIPO3";
function cargarTipos() {
var lista = document.getElementById('__tipo');
var x, i = 0;
for(x in tipos){
lista.options[i++] = new Option(tipos[x],tipos[x]);
}
}
function cargarSubtipos(id_tipo) {
var lista = document.getElementById('__subtipo');
var x, i = 0; id_tipo++;
var subtipos = subtipos_aux[id_tipo].split("|");
for(x in subtipos) {
lista.options[i++] = new Option(subtipos[x],subtipos[x]);
}
}
这就是我调用HTML正文中的函数的方法:
<fieldset>
...
<select id="__tipo" name="__tipo" onchange="cargarSubtipos(this.selectedIndex);">
...
<select id="__subtipo" name="__subtipo">
...
</fieldset>
<script language="javascript">cargarTipos("__tipo");</script>
主列表加载完美,当我从中选择一个选项时,读取子类型的函数被调用。但是,辅助列表没有显示任何内容! 我把警报放在各处,注意到:
所以就是这样,有人能告诉我这里我做错了什么吗?
谢谢!