基本功训练:)
<body>
<script language="JavaScript">
var o = {
'A':['A1','A2','A3','A4','A5'],
'B':['B1','B2','B3','B4','B5'],
'C':['C1','C2','C3','C4','C5']
};function window.onload()
{
var key;
for (key in o)
{
AddOption(sel1,key,key);
}
dynamicload(sel1.value);
}function dynamicload(item)
{
sel2.length=0;
for (var i=0; i<o[item].length; i++)
{
AddOption(sel2,o[item][i],o[item][i]);
}
}function AddOption(AddField,OptionText,OptionVal)
{//向指定select域AddField,插入Option对象
NewOption = new Option(OptionText, OptionVal);
AddField.options[AddField.length]=NewOption;
}
</script>
<select id="sel1" style="width:100" onchange="dynamicload(this.value)">
</select>
<hr>
<select id="sel2" style="width:100">
</select>
</body>

解决方案 »

  1.   

    但是大哥们,我第一级的菜单都10多个选项啊
    总共有200多
    我是想要直接从SQL里出来啊
      

  2.   

    晕,联动啊,先找个例子,到处都是。
    也可能用xmlhttp做无刷新:
    客户端这样
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <script language="JavaScript">
    function GetResult(str)
    {
        var oBao = new ActiveXObject("Microsoft.XMLHTTP");
        oBao.open("POST","select.php?sel="+str,false);
        oBao.send();
        //服务器端处理返回的是经过escape编码的字符串.
        //通过XMLHTTP返回数据,开始构建Select.
        BuildSel(unescape(oBao.responseText),document.all.sel2);
    }function BuildSel(str,sel)
    {
        //先清空原来的数据.
        sel.options.length=0;
        var arrstr = new Array();
        arrstr = str.split(",");
        //开始构建新的Select.
        for(var i=0;i<arrstr.length;i++)
        {
            sel.options[sel.options.length]=new Option(arrstr[i],arrstr[i])
        }
    }
    </script>
    <select name="sel" onChange="GetResult(this.value)">
    <option value="">请选择
    <option value="福建省">福建省
    <option value="湖北省">湖北省
    <option value="辽宁省">辽宁省
    <select>
    <select name="sel2"></select>
    </html>
    建个数据库,服务器端(asp,php等)把数据读出来再response.write或echo出来就好了
      

  3.   

    也可能用xmlhttp做无刷新
    ->
    也可以用xmlhttp做无刷新笔误
      

  4.   

    to:iamzhanglin(燃烧啊!)单选框和下拉菜单的联动:<body>
    <script language="JavaScript">
    var o = {
    'A':['A1','A2','A3','A4','A5'],
    'B':['B1','B2','B3','B4','B5'],
    'C':['C1','C2','C3','C4','C5']
    };function checkrado(oRdo)
    {
    if (oRdo.checked)
    {
    dynamicload(oRdo.value);
    }
    }function window.onload()
    {
    var oRdo = document.getElementsByName('rdo');
    for (var i=0; i<oRdo.length; i++)
    {
    if (oRdo[i].checked)
    {
    dynamicload(oRdo[i].value);
    break;
    }
    }
    }function dynamicload(item)
    {
    sel2.length=0;
    for (var i=0; i<o[item].length; i++)
    {
    AddOption(sel2,o[item][i],o[item][i]);
    }
    }function AddOption(AddField,OptionText,OptionVal)
    {//向指定select域AddField,插入Option对象
    NewOption = new Option(OptionText, OptionVal);
    AddField.options[AddField.length]=NewOption;
    }
    </script>
    A <input type="radio" name="rdo" value="A" onclick="checkrado(this)" checked><br>
    B <input type="radio" name="rdo" value="B" onclick="checkrado(this)"><br>
    C <input type="radio" name="rdo" value="C" onclick="checkrado(this)">
    <hr>
    <select id="sel2" style="width:100">
    </select>
    </body>
      

  5.   

    十分感谢 seeu1688(kangel)大哥,你的例子胜过任何的教科书,谢谢你了!