我想做选择地址的两个select   分别是省和城市   但是运行网页的时候城市的select没有添加选项   请问有什么问题啊??js
var old ;
function addCities(){
    var nowp = document.getElementById("province");
    var nowc = document.getElementById("city");
    var i;
    val val = nowp.options[nowp.selectedIndex].value;  //得到所选省的 value
    if(old==nowp.selectedIndex){                       //如果所选省没有改变  则退出函数
        break;
    }
    for(i=1; i<nowc.length; i++){                      //删除原来的选项  从第二项开始删
        nowc.remove(i);
    }
    old=nowp.selectedIndex;
    switch(val){                                       //根据新的省   添加新选项
    case "": break;
    case "北京": nowc.add(new Option("不限","不限")); nowc.add(new Option("东城区","东城区"));
                 nowc.add(new Option("西城区","西城区")); nowc.add(new Option("崇文区","崇文区"));
                  break;
    case "上海": nowc.add(new Option("不限","不限")); nowc.add(new Option("黄浦区","黄浦区"));
                 nowc.add(new Option("卢湾区","卢湾区")); nowc.add(new Option("徐汇区","徐汇区"));
                  break;
    case "天津": nowc.add(new Option("不限","不限")); nowc.add(new Option("和平区","和平区"));
                 nowc.add(new Option("河东区","河东区")); nowc.add(new Option("河西区","河西区"));
                  break;
    case "重庆": nowc.add(new Option("不限","不限")); nowc.add(new Option("万州区","万州区"));
                 nowc.add(new Option("涪陵区","涪陵区")); nowc.add(new Option("渝中区","渝中区"));
                 break;
    case "黑龙江":nowc.add(new Option("不限","不限")); nowc.add(new Option("哈尔滨","哈尔滨"));
        
html:
                                            <select id="province" onchange="addCities()" >
                                                <option value="">选择省份</option>
                                                <option value="北京">北京</option>
                                                <option value="上海">上海</option>
                                                <option value="天津">天津</option>
                                                <option value="重庆">重庆</option>
                                            </select>
                                            <select id="city">
                                                <option value="">选择城市</option> 
                                            </select>        

解决方案 »

  1.   


    改了,你那里有些问题,红色部分就是跟你的区别。
    <script type='text/javascript'>
    var old;
    function addCities(){alert("1");
      var nowp = document.getElementById("province");
      var nowc = document.getElementById("city");
      var i;
      var val = nowp.options[nowp.selectedIndex].value; //得到所选省的 value
      if (old == nowp.selectedIndex) { //如果所选省没有改变 则退出函数
          return;//这里没有循环不能用break;
      }
      for(i=1; i<nowc.length; i++){ //删除原来的选项 从第二项开始删
      nowc.remove(i);
      }
      old=nowp.selectedIndex;
      switch(val){ //根据新的省 添加新选项
      case "": break;
      case "北京": nowc.add(new Option("不限","不限")); nowc.add(new Option("东城区","东城区"));
      nowc.add(new Option("西城区","西城区")); nowc.add(new Option("崇文区","崇文区"));
      break;
      case "上海": nowc.add(new Option("不限","不限")); nowc.add(new Option("黄浦区","黄浦区"));
      nowc.add(new Option("卢湾区","卢湾区")); nowc.add(new Option("徐汇区","徐汇区"));
      break;
      case "天津": nowc.add(new Option("不限","不限")); nowc.add(new Option("和平区","和平区"));
      nowc.add(new Option("河东区","河东区")); nowc.add(new Option("河西区","河西区"));
      break;
      case "重庆": nowc.add(new Option("不限","不限")); nowc.add(new Option("万州区","万州区"));
      nowc.add(new Option("涪陵区","涪陵区")); nowc.add(new Option("渝中区","渝中区"));
      break;
      case "黑龙江":nowc.add(new Option("不限","不限")); nowc.add(new Option("哈尔滨","哈尔滨"));break;}}
    </script>
      

  2.   

    颜色没有加成功,
     if (old == nowp.selectedIndex) { //如果所选省没有改变 则退出函数
          break;  }
    这里的改成returnval val = nowp.options[nowp.selectedIndex].value;
    这里定义是var val
    case "黑龙江":nowc.add(new Option("不限","不限")); nowc.add(new Option("哈尔滨","哈尔滨"));
    这里结尾少了个break;跟两个}}
      

  3.   

    var old;
    function addCities()
    {
    var nowp = document.getElementById("province");
    var nowc = document.getElementById("city");
    var i;
    var val = nowp.value; 
    if (old == nowp.selectedIndex)
    { // 如果所选省没有改变 则退出函数
    return;
    }
    for (i = 1; i < nowc.length; i++)
    { // 删除原来的选项 从第二项开始删
    nowc.remove(i);
    }
    old = nowp.selectedIndex;
    switch (val)
    { // 根据新的省 添加新选项
    case "" :
    break;
    case "北京" :
    nowc.add(new Option("不限", "不限"));
    nowc.add(new Option("东城区", "东城区"));
    nowc.add(new Option("西城区", "西城区"));
    nowc.add(new Option("崇文区", "崇文区"));
    break;
    case "上海" :
    nowc.add(new Option("不限", "不限"));
    nowc.add(new Option("黄浦区", "黄浦区"));
    nowc.add(new Option("卢湾区", "卢湾区"));
    nowc.add(new Option("徐汇区", "徐汇区"));
    break;
    case "天津" :
    nowc.add(new Option("不限", "不限"));
    nowc.add(new Option("和平区", "和平区"));
    nowc.add(new Option("河东区", "河东区"));
    nowc.add(new Option("河西区", "河西区"));
    break;
    case "重庆" :
    nowc.add(new Option("不限", "不限"));
    nowc.add(new Option("万州区", "万州区"));
    nowc.add(new Option("涪陵区", "涪陵区"));
    nowc.add(new Option("渝中区", "渝中区"));
    break;
    case "黑龙江" :
    nowc.add(new Option("不限", "不限"));
    nowc.add(new Option("哈尔滨", "哈尔滨"));
    }
    }