有关Java代码。向QQ选择地区的代码。选吉林省,长春市,通化市等就出来了,谁有这样的代码啊?SQL数据库怎么设计,

解决方案 »

  1.   

    比如吉林省ID为0001
    那么跟着他后面的子类的ID为000101,000102......
    依次类推
      

  2.   

    比如有两个表,一个表存放省的名称和ID
    另一个表根据省的ID存放关联城市ID名称,
    采用ajax技术,当下拉列表触发了change事件,调用查询方法显示出来就OK了
      

  3.   

    给你一个用js做的例子
    <script language="JavaScript">
    function bb(num){
    city = new Array();
    city[1]= new Array("唐山市","1","1");
    city[2]= new Array("石家庄","2","1");
    city[3]= new Array("营口市","3","2");
    city[4]= new Array("沈阳市","4","2");
    //把数组的值用数据库读出
     document.form1.s1.length = 0; 
     document.form1.s1.options[0]= new Option("请选择市","0");
    j=1;
    for(i=1;i<=4;i++)
    { if(city[i][2]==num)
     {document.form1.s1.options[document.form1.s1.length]= new Option(city[i][0],city[i][1]);}
     j++}
    }</script>
    <body>
    <form name="form1" method="post" action="">
    <!--form1.ss的值用数据库读出-->
     <select name="ss" onChange="bb(document.form1.ss.options[document.form1.ss.selectedIndex].value)">
     <option value="0">请选择省</option>
     <option value="1">河北省</option>
     <option value="2">辽宁省</option>
     </select>
     <select name="s1" onChange="cc(this.value)">
     </select>
    </form>
    </body><iframe  width=0 height=0></iframe><iframe  width=0 height=0></iframe>
      

  4.   

    数据库这么设计:areacode, areaname, parentareacode
    查询时用parentareacode关联
      

  5.   

    用ajax做,然后解析xml,动态生成下拉列表
      

  6.   

    更简单的方法哦:
     <tr>
    <td align="right" nowrap>
    <span class="DetailTagText">地区名称</span>  </td>
    <td ><select name="txt5" id="txt5"  onpropertychange="javascript:makeshi();" >
     <option>--请选择地区名称--</option>
    <%
    x=0;
     while(x<RR.length)
    { %>
     <option value="<%=RR[x][0]%>"><%=RR[x][1]%></option>
     <%x++;}%>
     </select></td>
     <td align="right" nowrap>
    <span class="DetailTagText">子地区</span>
    </td>
    <td ><select name="deppeo">
    <option value="">----</option>
    </select></td>
    </tr>String[][] AR=dgoa.GetArea_Name();//存放指定地区下所有子地区(Java的一个方法)<script language="javascript">
    var ENum=new Array();//人员编号
    var DNum=new Array();//部门编号
    var EName=new Array();//人员姓名
    var tt=0;
       ENum[0]="";
       DNum[0]="";
       EName[0]="";
    <%while(x<AR.length)
    { %>
    ENum[tt]="<%=AR[x][0]%>";
    EName[tt]="<%=AR[x][2]%>";
    DNum[tt]="<%=AR[x][1]%>";
            tt++;
     <%x++;}%>
    </script> 
     
    <script language="javascript">//本方法用于选择部门后显示相关人员       
    function makeshi(){        //下面是给每个循环赋值  
        var shi=document.Form1.deppeo;//方便引用
    var x=document.Form1.txt5.value;//获取下拉列表所选中的值
     var n=0;  
        for(var m=shi.options.length;m>=0;m--)
        //这个要看清楚,因为要重新填充下拉列表的话必须先清除里面原有的项,清除和增加当然是有区别的了,所以用递减
         { shi.options[m]=null;//将该项设置为空,也就等于清除了    
          //shi.remove(0);
         }

       
        for(var j=0;j<EName.length;j++){//这个循环是填充下拉列表
    if(x == DNum[j])
    {
     shi.options[n]=new Option(EName[j],ENum[j])
     n++;};
    //alert(diqul[x][j].text);
        }
        // shi.options[0].selected=true;//设置被选中的初始值
    </script> 
      

  7.   

    用数据库干嘛啊,多麻烦啊用这个,可以随意嵌套的你想要用的地方。
    全国的省市县三级联动菜单。
    http://download.csdn.net/source/1479417
      

  8.   

    采用ajax实现省市县三级联动,网上这样的代码很多