function pri_addOnchangeEvent()
    {
           var local_columns = pub_table_getColumns();
           var len = tb.table.rows.length;
           for (var row = 0; row < len; row++)
           {
             pub_table_setRowValue("0", tb.table.rows[row], FlagColumnName);
             var province=pub_table_getRowCell(tb.table.rows[row],'province');
             var city=pub_table_getRowCell(tb.table.rows[row],'city');
             pub_object_addEvent(province.children[0], "onchange", change1);
             pub_object_addEvent(city.children[0], "onchange", change1);
             for (var col = 0; col < local_columns.length; col++)
             {
                var cell = pub_table_getRowCell(tb.table.rows[row], col);
                if (cell.children.length > 0)
                {
                    pub_object_addEvent(cell.children[0], "onchange", change);
                }
             }
           }
    }怎么写change1让province和city产生连动效果。最好把省份的名字和城市的名字也列出来,感激不尽!!

解决方案 »

  1.   

    <script type="text/javascript">
    var load=function(){
    var addr=new Array();
    addr[0]=new Array("安徽","合肥市","淮南市","安庆市");
    addr[1]=new Array("上海","黄浦","徐汇");
    addr[2]=new Array("江苏","南京","苏州","无锡","镇江");
    var obj=document.getElementById("province"); //省份
    var city=document.getElementById("city"); //城市 obj.length=0; //清空
    obj.onchange=function(){
    var index=obj.selectedIndex;
    city.length=0;
    if(obj[index].value==""){ return;
    }
    for(var i=1;i<addr[index-1].length;i++){
    city.options.add(new Option(addr[index-1][i],i));
    }
    }

    obj.options.add(new Option("--请选择--",""));
    for(var i=0;i<addr.length;i++){
    obj.options.add(new Option(addr[i][0],i));
    }
    }
    window.onload=load;
    </script><select name="province" id="province"></select><select name="city" id="city">
    </select>测试通过
      

  2.   

    由于是列表形式,是引用公共格式根据XML里的字段显示的,JSP页面里只写javascript代码
    <select name="province" id="province"> 
    </select> <select name="city" id="city"> 
    </select> 
    这些都不能写
    只能pub_table_getRowCell来获得某一列的值
      

  3.   

    <html>
    <script type="text/javascript">
    var citys=[
    ["西安","咸阳","宝鸡","渭南","汉中"],
    ["深圳","广州","中山","东莞","惠州","佛山","珠海"],
    ["上海"]
    ];
    function getCity()
    {
      var sltProvince=document.getElementById("province");
      var sltCity=document.getElementById("city");
      sltCity.options.length=1;
      if(sltProvince.selectedIndex>0)
      {
        var provinceCity=citys[sltProvince.selectedIndex-1];
        for(var i=0; i<provinceCity.length; i++)
        {
          var city=new Option(provinceCity[i],i);
          sltCity.options.add(city);
        }
      }
    }
    </script>
    <body>
    <select name="province" id="province" onchange="getCity();" >
      <option value="0">请选择省份</option>
      <option value="1">陕西</option>
      <option value="2">广东</option>
      <option value="3">上海</option>
    </select>
    <select name="city" id="city">
      <option value="0">请选择城市</option>
    </select>
    </body>
    </html>
      

  4.   

    这种实例很多,ajax可实现无刷新选择
    参考
    参考