<html >  
<head>  
<title>无限级联下拉框</title>  
<SCRIPT language=JavaScript>
        var onecount;
        onecount=0;
        subcat = new Array();
        //subcat[0] = new Array("批价号码","1");
        subcat[0] = new Array("话单数","external_id","sum_cnt");
        subcat[1] = new Array("处理人","external_id","dealer");
        subcat[2] = new Array("处理类型","external_id","deal_type_name");
        //subcat[1] = new Array("话单数","sum_cnt");
        subcat[3] = new Array("处理人","sum_cnt","dealer");
        subcat[4] = new Array("处理类型","sum_cnt","deal_type_name");
        //subcat[1] = new Array("处理人","dealer");
        subcat[5] = new Array("批价号码","dealer","external_id");
        subcat[6] = new Array("话单数","dealer","sum_cnt");
        subcat[7] = new Array("处理类型","dealer","deal_type_name");
        //subcat[7] = new Array("处理类型","deal_type_name");
        subcat[8] = new Array("批价号码","deal_type_name","external_id");
        subcat[9] = new Array("话单数","deal_type_name","sum_cnt");
        subcat[10] = new Array("处理人","deal_type_name","dealer");
        onecount=11;
        function changelocation(locationid)
        {
            document.forms[0].order2.length = 0;
            var locationid = locationid;
            var i;
            document.forms[0].order2.options[0] = new Option('请选择次要排序列','');
            for (i=0;i < onecount; i++)
                {
                    if (subcat[i][1] == locationid)
                    {
                        document.forms[0].order2.options[document.forms[0].order2.length] = new Option(subcat[i][0], subcat[i][2]);
                    }        
                }
        } 
</SCRIPT>
<title>无标题文档</title>  
</head>  
<body>  <form><input name="" type="text"></form><form>
<select onChange="changelocation(document.forms[0].order1.options[document.forms[0].order1.selectedIndex].value)" id= "order1" name="order1">
                <option value="" selected="selected">请选择首要排序列</option>
                <option value="external_id">批价号码</option>
                <option value="sum_cnt">话单数</option>
                <option value="dealer">处理人</option>
                <option value="deal_type_name">处理类型</option>
            </select>
            <select id="order2" name="order2">
                <option value="" selected="selected">请选择次要排序列</option>
</select>
</form></body>  
</html>级联下拉菜单出现问题,提示网页上有错!应该是<form>标签上出错,因为把<form><input name="" type="text"></form>去掉就没问题了,可是我不能把<form><input name="" type="text"></form>清除,这是必须保留的,大家说怎么办好?

解决方案 »

  1.   

    <input name="" type="text">
    改成:
    <input name="" type="text"/>
      

  2.   

    问题和错误是这样的:正常情况下也就是把<form><input name="" type="text"></form>去除的时候,两个下拉列表是正常的;二保留<form><input name="" type="text"></form>的时候,第二个列表不能下拉了
      

  3.   

    大哥你function里面的document.forms[0]是第一个form
    你加上<form><input name="" type="text"></form>的时候,这个就成了的第一个form
    第一个form中有document.forms[0].order2吗?
      

  4.   

    不要用form[0],直接用form的名称多好,这部多事儿吗?
      

  5.   

    你把“document.forms[0]”这写错了,这样写定位到了第一个form,就是这段
    <form><input name="" type="text"></form>
    如果不删除这个form的话,你就把里头的document.forms[0]都改成document.forms[1]
    完整的代码是这样的<html>  
    <head>  
    <title>无限级联下拉框</title>  
    <SCRIPT language=JavaScript>
            var onecount;
            onecount=0;
            subcat = new Array();
            //subcat[0] = new Array("批价号码","1");
            subcat[0] = new Array("话单数","external_id","sum_cnt");
            subcat[1] = new Array("处理人","external_id","dealer");
            subcat[2] = new Array("处理类型","external_id","deal_type_name");
            //subcat[1] = new Array("话单数","sum_cnt");
            subcat[3] = new Array("处理人","sum_cnt","dealer");
            subcat[4] = new Array("处理类型","sum_cnt","deal_type_name");
            //subcat[1] = new Array("处理人","dealer");
            subcat[5] = new Array("批价号码","dealer","external_id");
            subcat[6] = new Array("话单数","dealer","sum_cnt");
            subcat[7] = new Array("处理类型","dealer","deal_type_name");
            //subcat[7] = new Array("处理类型","deal_type_name");
            subcat[8] = new Array("批价号码","deal_type_name","external_id");
            subcat[9] = new Array("话单数","deal_type_name","sum_cnt");
            subcat[10] = new Array("处理人","deal_type_name","dealer");
            onecount=11;
            function changelocation(locationid)
            {
                document.forms[1].order2.length = 0;
                var locationid = locationid;
                var i;
                document.forms[1].order2.options[0] = new Option('请选择次要排序列','');
                for (i=0;i < onecount; i++)
                    {
                        if (subcat[i][1] == locationid)
                        {
                            document.forms[1].order2.options[document.forms[1].order2.length] = new Option(subcat[i][0], subcat[i][2]);
                        }        
                    }
            } 
    </SCRIPT>
    <title>无标题文档</title>  
    </head>  
    <body>  <form><input name="" type="text"></form><form>
    <select onChange="changelocation(document.forms[1].order1.options[document.forms[1].order1.selectedIndex].value)" id= "order1">
                    <option value="" selected="selected">请选择首要排序列</option>
                    <option value="external_id">批价号码</option>
                    <option value="sum_cnt">话单数</option>
                    <option value="dealer">处理人</option>
                    <option value="deal_type_name">处理类型</option>
                </select>
                <select id="order2">
                    <option value="" selected="selected">请选择次要排序列</option>
    </select>
    </form></body>  
    </html>