JavaScript:辅助组合框不刷新

JavaScript:辅助组合框不刷新,javascript,onchange,html-select,Javascript,Onchange,Html Select,我想用依赖于另一个下拉列表的值填充一个下拉列表,也就是说,当我在第一个控件中选择一个项时,第二个控件应该加载相应的“子项” 这是我的JS代码(在HTML头中): var tipos=新数组(“Tipo1”、“Tipo2”、“Tipo3”); var subtipos_aux=新数组(); subtipos_aux[0]=“不允许有任何损失”; 子项目[1]=“子项目第1部分|子项目第1部分”; subtipos_aux[2]=“subtipos para TIPO2 | subtipos pa

我想用依赖于另一个下拉列表的值填充一个下拉列表,也就是说,当我在第一个控件中选择一个项时,第二个控件应该加载相应的“子项”

这是我的JS代码(在HTML头中):


var tipos=新数组(“Tipo1”、“Tipo2”、“Tipo3”);
var subtipos_aux=新数组();
subtipos_aux[0]=“不允许有任何损失”;
子项目[1]=“子项目第1部分|子项目第1部分”;
subtipos_aux[2]=“subtipos para TIPO2 | subtipos para TIPO2”;
子IPO_aux[3]=“子IPO第TIPO3段|子IPO第TIPO3段|子IPO第TIPO3段”;
功能cargarTipos(){
var lista=document.getElementById(“uuu tipo”);
var x,i=0;
用于(tipos中的x){
lista.options[i++]=新选项(tipos[x],tipos[x]);
}
}
功能cargarSubtipos(id_tipo){
var lista=document.getElementById(“子IPO”);
变量x,i=0;id_tipo++;
var subtipos=subtipos_aux[id_tipo]。拆分(“|”);
对于(子主题中的x){
lista.options[i++]=新选项(子主题[x],子主题[x]);
}
}

这就是我在HTML正文中调用函数的方式:

<fieldset>
  ...
  <select id="__tipo" name="__tipo" onchange="cargarSubtipos(this.selectedIndex);">
  ...
  <select id="__subtipo" name="__subtipo">
  ...
</fieldset>

<script language="javascript">cargarTipos("__tipo");</script>

...
...
...
cargarTipos(“cargartipo”);
主列表完全加载,当我从中选择一个选项时,将调用读取子类型的函数。但是,次要列表没有显示任何内容! 我把警报放在各处,并注意到:

  • 读取所选索引的值:确定
  • 从subtipos_aux获取适当的元素:OK
  • 将subtipos_aux转换为subtipos(数组)是可以的(我在for循环中添加了一个警报)
  • 就这样,有人能告诉我我做错了什么吗


    谢谢

    加载时您没有填写select,因此您需要将其放在cargarTipos的末尾:

    cargarSubtipos(0);
    

    cargarSubtipos(0);