我从网上找代码改的两个二级联动搜索,在同一个页面中,但是教师这个二级联动能正常使用,学生的二级联动第一个下拉列表有内容,是:1班2班,第二个下拉列表什么都没有啊,不知道为什么,请高手指点指点啊,谢谢了
<script language="JavaScript" type="text/javascript">
<%@ page contentType="text/html;charset=utf-8" %>
function removeOptions(selectObj)
{
    if (typeof selectObj != 'object')
    {
          selectObj = document.getElementById(selectObj);
    }
    var len = selectObj.options.length;
    for (var i=0; i < len; i++)
    { 
          selectObj.options[0] = null;
    }
}
function setSelectOption(selectObj, optionList, firstOption, selected)
{
    if (typeof selectObj != 'object')
    {
          selectObj = document.getElementById(selectObj);
    }
      removeOptions(selectObj);
 
    
    var start = 0;
     
    if (firstOption)
    {
          selectObj.options[0] = new Option(firstOption, '');
 
          start ++;
    }
 
    var len = optionList.length;
 
    for (var i=0; i < len; i++)
    {
          selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);        if(selected == optionList[i].val)
        {
              selectObj.options[start].selected = true;
        }
          start ++;
    }

//--> 
</script>教师:
<script language="JavaScript" type="text/javascript"> 
var cityArr = [];
cityArr['1'] = [
          {txt:'C1', val:'4'}, {txt:'C2', val:'5'},  {txt:'C3', val:'6'}
               ];
cityArr['2'] = [
          {txt:'D1', val:'10'},    {txt:'D2', val:'11'},   {txt:'D3', val:'12'}
               ];     
function setCity(province)
{ setSelectOption('deptId', cityArr[province], '-请选择-');}
 </script>
<select name="province"  style="width:100" id="province" onchange="if(this.value != '') setCity(this.options[this.selectedIndex].value);">
    <option value="">-请选择-</option>
    <option value="1">第一办公室</option>
    <option value="2">第二办公室</option></select> &nbsp;&nbsp;
<select name="deptId"  style="width:180" id="city" onchange="window.location=('/fzs/servlet/SelectServlet3?deptId='+this.options[this.selectedIndex].value+'')">
<option value="">-请选择-</option>
</select>
<p>-------------------------------------------------------------------------------------------------------
<script language="JavaScript" type="text/javascript">
<%@ page contentType="text/html;charset=utf-8" %>function removeOptions1(selectObj1)
{
    if (typeof selectObj1 != 'object1')
    {
          selectObj1 = document.getElementById(selectObj1);
    }
    var len1 = selectObj1.options.length1;
    for (var i=0; i < len1; i++)
    {
          selectObj1.options[0] = null;
    }
}
function setSelectOption1(selectObj1, optionList1, firstOption1, selected1)
{
    if (typeof selectObj1 != 'object1')
    {
          selectObj1 = document.getElementById(selectObj1);
    }
      removeOptions1(selectObj1); 
    
    var start1 = 0; 
     
    if (firstOption1)
    {
          selectObj1.options[0] = new Options(firstOption1, '');
 
          start1 ++;
    } 
    var len1 = optionList1.length1;
 
    for (var i=0; i < len1; i++)
    {
          selectObj1.options[start1] = new Options(optionList1[i].txt, optionList1[i].val);
 
        if(selected1 == optionList1[i].val)
        {
              selectObj1.options[start1].selected1 = true;
        }
 
          start1 ++;
    }
}
//--> 
</script><p>
学生:
<script language="JavaScript" type="text/javascript"> 
var cityArr1 = [];
cityArr1['1'] = [
          {txt:'A1', val:'4'}, {txt:'A2', val:'5'},  {txt:'A3', val:'6'}
               ];
cityArr1['2'] = [
          {txt:'B1', val:'10'},    {txt:'B2', val:'11'},   {txt:'B3', val:'12'}
               ];    
function setCity1(province1)
{ setSelectOption1('deptId1', cityArr1[province1], '-请选择-');}
 </script>
<select name="province1"  style="width:100" id="province1" onchange="if(this.value != '') setCity1(this.options[this.selectedIndex].value);">
    <option value="">-请选择-</option>
    <option value="1">1班</option>
    <option value="2">2班</option></select> &nbsp;&nbsp;
<select name="deptId1"  style="width:180" id="city1" onchange="window.location=('/fzs/servlet/SelectServlet3?deptId1='+this.options[this.selectedIndex].value+'')">
<option value="">-请选择-</option>
</select>

解决方案 »

  1.   

    学生的select 菜单change事件对应的方法removeOptions1 setSelectOption1 明显的好多语法错误 selectObj1.options.length1;   length1算是什么属性  我改下给你重新传上来  <script language="JavaScript" type="text/javascript"> 
     
    function removeOptions(selectObj) 

        if (typeof selectObj != 'object') 
        { 
              selectObj = document.getElementById(selectObj); 
        } 
        var len = selectObj.options.length; 
        for (var i=0; i < len; i++) 
        { 
              selectObj.options[0] = null; 
        } 

    function setSelectOption(selectObj, optionList, firstOption, selected) 

        if (typeof selectObj != 'object') 
        { 
              selectObj = document.getElementById(selectObj); 
        } 
          removeOptions(selectObj);     
        var start = 0; 
        
        if (firstOption) 
        { 
              selectObj.options[0] = new Option(firstOption, '');           start ++; 
        }     var len = optionList.length;     for (var i=0; i < len; i++) 
        { 
              selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);         if(selected == optionList[i].val) 
            { 
                  selectObj.options[start].selected = true; 
            } 
              start ++; 
        } 

    //--> 
    </script> 教师: 
    <script language="JavaScript" type="text/javascript"> 
    var cityArr = []; 
    cityArr['1'] = [ 
              {txt:'C1', val:'4'}, {txt:'C2', val:'5'},  {txt:'C3', val:'6'} 
                  ]; 
    cityArr['2'] = [ 
              {txt:'D1', val:'10'},    {txt:'D2', val:'11'},  {txt:'D3', val:'12'} 
                  ];    
    function setCity(province) 
    { setSelectOption('deptId', cityArr[province], '-请选择-');} 
    </script> 
    <select name="province"  style="width:100" id="province" onchange="if(this.value != '') setCity(this.options [this.selectedIndex].value);"> 
        <option value="">-请选择- </option> 
        <option value="1">第一办公室 </option> 
        <option value="2">第二办公室 </option> </select> &nbsp;&nbsp; 
    <select name="deptId"  style="width:180" id="city" onchange="window.location=('/fzs/servlet/SelectServlet3? deptId='+this.options[this.selectedIndex].value+'')"> 
    <option value="">-请选择- </option> 
    </select> 
    <p>------------------------------------------------------------------------------------------------------- 
    <script language="JavaScript" type="text/javascript"> 
     function removeOptions1(selectObj1) 

        if (typeof selectObj1 != 'object') 
        { 
              selectObj1 = document.getElementById(selectObj1); 
        } 
        var len1 = selectObj1.options.length; 
        for (var i=0; i < len1; i++) 
        { 
              selectObj1.options[0] = null; 
        } 

    function setSelectOption1(selectObj1, optionList1, firstOption1, selected1) 


        if (typeof selectObj1 != 'object') 
        { 
              selectObj1 = document.getElementById(selectObj1); 
        } 
        
          removeOptions1(selectObj1); 
           
        var start1 = 0; 
        
        if (firstOption1) 
        { 
              selectObj1.options[0] = new Option(firstOption1, '');           start1 ++; 
        } 
        var len1 = optionList1.length;     for (var i=0; i < len1; i++) 
        { 
              selectObj1.options[start1] = new Option(optionList1[i].txt, optionList1[i].val);         if(selected1 == optionList1[i].val) 
            { 
                  selectObj1.options[start1].selected = true; 
            }           start1 ++; 
        } 

    //--> 
    </script> <p> 
    学生: 
    <script language="JavaScript" type="text/javascript"> 
    var cityArr1 = []; 
    cityArr1['1'] = [ 
              {txt:'A1', val:'4'}, {txt:'A2', val:'5'},  {txt:'A3', val:'6'} 
                  ]; 
    cityArr1['2'] = [ 
              {txt:'B1', val:'10'},    {txt:'B2', val:'11'},  {txt:'B3', val:'12'} 
                  ];    
    function setCity1(province1) 

     
    setSelectOption1('deptId1', cityArr1[province1], '-请选择-'); } 
    </script> 
    <select name="province1"  style="width:100" id="province1" onchange="if(this.value != '') setCity1(this.options [this.selectedIndex].value);"> 
        <option value="">-请选择- </option> 
        <option value="1">1班 </option> 
        <option value="2">2班 </option> </select> &nbsp;&nbsp; 
    <select name="deptId1"  style="width:180" id="city1" onchange="window.location=('/fzs/servlet/SelectServlet3? deptId1='+this.options[this.selectedIndex].value+'')"> 
    <option value="">-请选择- </option> 
    </select>我把jsp标签去掉了 html保存就可以运行了  这个联动明显是的copy了 某个城市联动的js 不过代码写的 有点太乱了吧