n级联动下拉框,与2级联动多选项下拉框 ??呵呵,听上去蛮复杂的喔用ajax吧,网上找找相关的资料,应该不难

解决方案 »

  1.   

    呵,谢谢楼上的大哥,我的php用的编码是GB2312,ajax要用utf-8  ,如果用ajax,这样会与ajax冲突吗,
    那么能给些  n级联动下拉框的例子吗
      

  2.   

    只能给些思路--相信你行的:
    0:做好三个<SELECT>,并取好名与ID号
    1:产生第一联菜单,当第一联有改变里,响应onchange = yourAjaxFun(this.value);
    2:用Ajax去取得数据,动态添加第二联下拉框内容;
    3:第二联与第一联一样,去改变第三联的下拉框;
    网上找的例子,你看看
    http://singlepine.cnblogs.com/archive/2005/10/31/265678.html
      

  3.   

    我的php用的编码是GB2312,ajax要用utf-8  ,
    如果用ajax,这样会与ajax冲突吗,//应该会的,你可以用PHP来转换
    比方说:mb_convert_encoding(); iconv()
      

  4.   

    感谢楼上的两位大哥给的思路,但我对ajax不太会,我去研究看看吧,
    楼下的高手们继续呀
    如果我能自己解决的话,我会把例子发出来的
      

  5.   

    我有一种思路,不知道是不是会笨一些,你说网上是用Javascript做的,你是要和数据库联系.
    你可以这样做.当在更改数据库的时候就把相应的javascript里的值更改成新的数据.
    这样可以减少访问数据库的次数,而且我想这个N级菜单也不会每一分钟修改一次的吧.
      

  6.   

    拍拍网上有个5级的 偶后来弄来了ASP 和 PHP 都做了一个 生成JS文件的你可以仔细研究PP 的 能找出他们建立的数据库的结构
      

  7.   

    联动下拉已解决,用xajax的,但不知如何提交多个联动下拉值,例如:
    中国 广东 东莞
    中国 广东 深圳
    中国 广东 广州请高手们指点点,
    以下是联动下拉的代码:
    <?php
    require ('./xajax/xajax.inc.php');
    function getChainingSelects($dropDownList, $parentID)
    {
    $objResponse = new xajaxResponse();
    mysql_connect("localhost", "root", "");
    mysql_select_db("coowill");
    $sql = sprintf("SELECT * FROM `Area` WHERE `Parentid` = %d ORDER BY 1 ASC", $parentID);
    $rows = mysql_query($sql);
    $objResponse->addScript(sprintf("clearOptions('%s');", $dropDownList));
    while($row = mysql_fetch_array($rows))
    {
    $script = sprintf("addOption('%s', '%s', '%s', '%s');", $dropDownList, $row["Name"], $row["Name"], $row["ID"]);
    $objResponse->addScript($script);
    }
    return $objResponse;
    }$xajax = new xajax(); $xajax->registerFunction("getChainingSelects");$xajax->processRequests();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>xajax example</title>
    <?php $xajax->printJavascript('./xajax/');  ?> <script type="text/javascript">
    //清空所有项目
    function clearOptions(selectId)
    {
    var select = document.getElementById(selectId);
    for(var i=select.options.length-1;i>=0;i--)
    {
    select.options[i] = null;
    } select.options.add(new Option("<请选择>"));
    } function addOption(selectId,optionId,txt,val)
    {
        var objOption = new Option(txt,val);
        objOption.id = optionId;
        document.getElementById(selectId).options.add(objOption);
    } function _js_selectArea()
    {
    var selectArea = document.getElementById("selectArea");
    var country = document.getElementById("country");
    var province = document.getElementById("province");
    var city = document.getElementById("city");
    var option = new Option(country.options[country.selectedIndex].text + " " 
    + province.options[province.selectedIndex].text + " "
    + city.options[city.selectedIndex].text);
    selectArea.options.add(option);
    }
    </script></head>
    <script>
    //window.onload = "clearOptions('province');xajax_getChainingSelects('province', 1);"
    window.onload=function()
    {
    clearOptions('province');xajax_getChainingSelects('province', 1);
    //window.alert("");
    }
    </script>
    <body >
    <div style="border:solid 1px red; width:350px;">
    <form name="mainform" action="phpinfo.php">
    <select id="province" name="province" onChange="xajax_getChainingSelects('city', this.options[this.selectedIndex].value);">
    </select> <select id="city" name="city">
    </select>
    </div> <div>
    <input type="button" value="=>" onClick="_js_selectArea();" />
    </div> <div>
    <select id="selectArea" name="selectArea" size="4" style="width:350px;" onDblClick="window.alert('dbClick');">
    </select>
    </div> <input type="submit" value="提交" />
    </form>
    <script type="text/javascript">
    xajax_getChainingSelects('country', 0);
    </script>
    </body>
    </html>