try
<head>
<script language="javascript">
var banlist = new Array();
banlist[0] = ["精品班","提前班","普通斑"];
banlist[1] = ["普通班"];function changeBan()
{
  document.form1.ban.options.length = 0;
  var n = document.form1.leixing.selectedIndex;
  for (var i=0; i < banlist[n].length; i++)
  {
var opt = new Option(banlist[n][i],banlist[n][i]);
document.form1.ban.options.add(opt);
  }
}
</script>
</head>
<body onload="changeBan()">
<form name="form1">
<select size="1" name="leixing" onchange="changeBan()">
  <option>中级</option>
  <option>初级</option>
</select>
<select size="1" name="ban">
</select>
</form>
</body>

解决方案 »

  1.   

    to make it Netscape compatible, change
             document.form1.ban.options.add(opt);
    to
    document.form1.ban.options[i] = opt;
      

  2.   

    <head>
    <script language="javascript">
    var banlist = new Array();
    banlist[0] = ["精品班","提前班","普通斑"];
    banlist[1] = ["普通班"];function changeBan()
    {
      document.form1.ban.options.length = 0;
      var n = document.form1.leixing.selectedIndex;
      for (var i=0; i < banlist[n].length; i++)
      {
    var opt = new Option(banlist[n][i],banlist[n][i]);
    document.form1.ban.options.add(opt);
      }
    }
    </script>
    </head>
    <body onload="changeBan()">
    <form name="form1">
    <select size="1" name="leixing" onchange="changeBan()">
      <option>中级</option>
      <option>初级</option>
    </select>
    <select size="1" name="ban" onchange="if(this.options[this.selectedIndex].text=='精品班')a1.disabled=false;else a1.disabled=true">
    </select>
    <input id=a1 disabled>
    </form>
    </body>
      

  3.   

    我再想了一下,觉得这样好象可以实现:
     大家看看:
    <head>
    <script language="javascript">
    var banlist = new Array();
    banlist[0] = ["提前班","精品班","普通斑"];
    banlist[1] = ["普通班"];function changeBan()
    {
      document.form1.ban.options.length = 0;
      form1.a1.disabled=true
      form1.a2.style.visibility="hidden"
      var n = document.form1.leixing.selectedIndex;
      for (var i=0; i < banlist[n].length; i++)
      {
    var opt = new Option(banlist[n][i],banlist[n][i]);
    document.form1.ban.options.add(opt);
      }
    }function onchangea1()
     {
       if(form1.ban.options[form1.ban.selectedIndex].text=='精品班') 
        {
         form1.a1.disabled=false
         
         form1.a2.style.visibility="visible"
        }  
       else
        { 
         form1.a1.disabled=true 
         form1.a2.style.visibility="hidden"
        }
     }
    </script>
    </head>
    <body onload="changeBan()">
    <form name="form1">
    <select size="1" name="leixing" onchange="changeBan()">
      <option>中级</option>
      <option>初级</option>
    </select>
    <select size="1" name="ban" onchange="onchangea1()">
    </select>
    <input id=a1 disabled>
    <input id=a2 >
    </form>
    </body>
    </html>
      

  4.   

    另外我有个问题想问思归: 为什么 var opt = new Option(banlist[n][i],banlist[n][i]);写成下面的也行呢:
      
      var opt = new Option(banlist[n][i]);
      

  5.   

    var opt = new Option(TextForOption);var opt = new Option(TextForOption, ValueForOption);if you do not care about the value, just use the first statement