Javascript 根据先前在另一个选择中选择的选项更改选择选项

Javascript 根据先前在另一个选择中选择的选项更改选择选项,javascript,html,Javascript,Html,我希望在上一次选择的基础上,在选择中显示选项, 我曾尝试在javascript中使用createOption,但随着我在父选择中更改选项,它会不断创建选项,因此我需要一种方法来实现这一点,我的代码如下: function addsem(deg) { var semnum,i; switch(deg) { case 'var1':numsem=8; break; case 'var2':numsem=6; break;

我希望在上一次选择的基础上,在选择中显示选项, 我曾尝试在javascript中使用createOption,但随着我在父选择中更改选项,它会不断创建选项,因此我需要一种方法来实现这一点,我的代码如下:

function addsem(deg)
{
  var semnum,i;
  switch(deg)
  {
    case 'var1':numsem=8;
              break;
case 'var2':numsem=6;
              break;
    case 'var3':numsem=10;
              break;

case 'var4':numsem=4;
}
select1=document.getElementById('selsem');
var sem=new Array('I','II','III','IV','V','VI','VII','VIII','IX','X'); 

 for(i=0;i<numsem;i++)
 {
   var opt = new Option(sem[i],sem[i]);
 select.options.add(opt);
 }
}
function addsem(度)
{
var semnum,i;
开关(度)
{
案例“var1”:numsem=8;
打破
案例“var2”:numsem=6;
打破
案例“var3”:numsem=10;
打破
案例“var4”:numsem=4;
}
select1=document.getElementById('selsem');
var sem=新数组('I','II','III','IV','V','VI','VII','VIII','IX','X');

对于JavaScript中的(i=0;i,
select.options.add
应该是
select1.options.add
。HTML中存在语法错误,您没有关闭
style=“width:180px
属性。此外,您还需要从select中删除项目,以免每次更改第一个选择时都会得到重复的项目

function addsem(度){
var semnum,i;
开关(度){
案例“var1”:
numsem=8;
打破
案例'var2':
numsem=6;
打破
案例'var3':
numsem=10;
打破
案例“var4”:
numsem=4;
}
select1=document.getElementById('selsem');
//删除现有项目
while(选择1.options.length){
选择1.删除(0);
}
var sem=新数组('I','II','III','IV','V','VI','VII','VIII','IX','X');
对于(i=0;i
  <select name="seldeg" id="seldeg" style="width:180px onChange="addsem(this.value);">
                <option value="deg">Select</option>
                <option value="var1">var1</option>
                <option value="var2">var2</option>
                <option value="var3">var3</option>
                <option value="var4">var4</option>
                </select>
<select name="selsem" id="selsem" style="width:180px;" onchange="" >
        <option  value="sem">Select</option>
</select>
function addsem(deg) {
    var semnum, i;
    switch (deg) {
        case 'var1':
            numsem = 8;
            break;
        case 'var2':
            numsem = 6;
            break;
        case 'var3':
            numsem = 10;
            break;

        case 'var4':
            numsem = 4;
    }
    select1 = document.getElementById('selsem');

    // remove existing items
    while (select1.options.length) {
        select1.remove(0);
    }

    var sem = new Array('I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X');

    for (i = 0; i < numsem; i++) {
        var opt = new Option(sem[i], sem[i]);
        select1.options.add(opt); // changed to select1
    }
}