帮你顶。这个也是俺想知道的。用js可能有时满足不了要求,比如下级菜单数据需要从DB里去取。

解决方案 »

  1.   

    “要求不通过按钮和自动刷新实现”
    那么请告诉我你打算用什么方式通知第二个select或php第一个select做出了选择呢?php不是神仙,他怎么知道用户会选什么数据库呢?
    你也不是神仙,你也不会知道用户会选什么数据库
      

  2.   

    我看了一个用JS控制的联动表单,代码如下,我想通过JS与PHP的接合应该可以实现,请大家帮忙想想,拜托大家啦!!!<form method="post" name="input" action="#">
    <td bgcolor="#F8F8F8" width="20%">知识适用人员:</td>
    <td bgcolor="#FFFFFF">
    <select name="knowledgeperson" onChange=changelocation(document.input.knowledgeperson.options[document.input.knowledgeperson.selectedIndex].values)>
      <option value="" selected>>>>>请选择<<<<</option>
      <OPTION values='1' >测试人员</OPTION>
      <OPTION values='2' >开发人员</OPTION>
      <OPTION values='3' >客服人员</OPTION>
    <SCRIPT language=JavaScript>
    var onecount;
    onecount=0;
    subcat = new Array();
    subcat[0] = new Array(1,'可行性分析阶段');
    subcat[1] = new Array(2,'需求分析阶段');
    subcat[2] = new Array(3,'概要设计阶段');
    subcat[3] = new Array(1,'11111');
    subcat[4] = new Array(2,'22222');
    subcat[5] = new Array(3,'33333');
    subcat[6] = new Array(1,'44444');
    subcat[7] = new Array(2,'55555');
    subcat[8] = new Array(3,'66666');
    onecount=9;function changelocation(locationid)
    {
    document.input.knowledgeuse.length = 0;
    var locationid=locationid;
    var i,flag=0;
    for (i=0;i < onecount; i++)
    {
    if (subcat[i][0] == locationid)
    {
    document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option(subcat[i][1]);
    flag=1;
    }
    }
    if (flag==0)
    {
    document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option('>>>>请先选择知识适用人员<<<<');
    }
    }
    </SCRIPT>
    </select>
    </td>
    </tr>
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用阶段:</td>
    <td bgcolor="#FFFFFF">  <select name="knowledgeuse">
      <option value="" selected>>>>>请先选择知识适用人员<<<<</option>
      </select></td>
    </form>
      

  3.   

    把所有的数据取出来,然后用js来控制
    用php生成注释中的那段javascript代码(即生成js数组),然后用js实现联动。
    <html>
    <head>
    <!-- 用php生成以下这段JS代码 -->
    <script language="javascript">
    var depart = Array();
    depart[0] = '部门1';
    depart[1] = '部门2'var group  = Array();
    group[0] = Array();
    group[1] = Array();group[0][0] = 'A';
    group[0][1] = 'B';
    group[1][0] = 'C';
    group[1][1] = 'D';
    </script>
    <!-- 用php生成以上这段JS代码 -->
    <script language="javascript">
    //加载部门
    function loadDepart()
    {
    for(var i in depart)
    {
    form1.department.add(new Option(depart[i],i));
    }
    }
    //加载所选部门的组
    function loadGroup(did)
    {
    form1.group.length = 1;
    for(var i in group[did])
    {
    form1.group.add(new Option(group[did][i],i));
    }}
    </script>
    </head>
    <body onload="loadDepart();">
    <form name="form1">
    部门:<select name="department" onChange="loadGroup(this.value)"><option value=''>请选择部门</option></select>
    <p>
     组:<select name="group"><option value=''>请选择组</option></select>
    </form>
    </body>
    </html>
      

  4.   

    在给你的第一个下拉框选择数据之前,从数据库里面读取出所有的二级下拉框的数据,并将这些数据存到javascript变量里面去,然后通过第一个下拉框的onchange事件进行第二个下拉框的数据显示