就是说在select选取不同的option,就得到不同的value,而现在上面的代码并没有提供value的变化。比如select1选取浙江,其value也变为zhejiang,或者1什么的,选取了江苏,其value就变为jiangsu或者2。
对于select2也是同样的道理,不知道能不能实现?

解决方案 »

  1.   

    javascript里value有个默认的值0 1 2 3 。
      

  2.   

    <html><head><title>新建网页 1</title>
    </head><body>
    <form name=form1>
    <select name=province onchange="cityName(this.selectedIndex)">
      <option value="">请选择省名</option>
    </select><select name=city onchange="cityName1()">
      <option value="">请选择城名</option>
    </select>
    <p><input type="text" name="t1" size="20"></p>
    </form><script language=javascript>var city1 = ["杭州", "宁波", "温州", "绍兴", "金华", "湖州"];
    var city2 = ["南京", "苏州", "无锡", "常州", "镇江", "徐州"];
    var city3 = ["合肥", "翕县", "黄山", "祁门", "休宁"];
    var city4 = ["南昌", "九江", "赣州", "上饶", "新余", "景德镇"]; 
    var provinceName = ["浙江", "江苏", "安徽", "江西"];
    function province()
    {    var e = document.form1.province;
        for (var i=0; i<provinceName.length; i++)
           e.options.add(new Option(provinceName[i], provinceName[i]));
        }
    function cityName(n)
    {
        var e = document.form1.city;
        for (var i=e.options.length; i>0; i--)  e.remove(i);
        if (n == 0) return;
        var a = eval("city"+ n); //得到城市的数组名
        for (var i=0; i<a.length; i++) 
        e.options.add(new Option(a[i], a[i]));
    }
    function cityName1()

      var c=form1.city.options[form1.city.selectedIndex].value 
      var p=form1.province.options[form1.province.selectedIndex].value
      form1.t1.value=p+"+"+c
    }function window.onload()
    {
        province(1); //初始时给省名下拉菜单赋内容
    }
    </script></body></html>