<script type="text/javascript">
       var arr1="岗位证|安全考核证|建造师证|工程师证 ";
       var arr2=new Array();
      
       arr2[0]="资料员证|质安员证|材料员证|预算员证|施工员证|测量员证|统计员证";
       arr2[1]="安全考核A证|安全考核B证|安全考核C证";
       arr2[2]="一级建造师证|二级建造师证|三级建造师证";
       arr2[3]="初级工程师证|中级工程师证|高级工程师证";
       
     
       var arr3=new Array;
       arr3["资料员证"]="2";arr3["质安员证"]="2";arr3["材料员证"]="2";arr3["预算员证"]="2";arr3["施工员证"]="2";arr3["测量员证"]="2";arr3["统计员证"]="2";
       arr3["安全考核A证"]="1";arr3["安全考核B证"]="1";arr3["安全考核C证"]="1";
       arr3["一级建造师证"]="2";arr3["二级建造师证"]="2";arr3["三级建造师证"]="2";
       arr3["初级工程师证"]="3";arr3["中级工程师证"]="3";arr3["高级工程师证"]="3";
      var j=0;
       var count=0;
       function fun()
       {
          var one=arr1.split("|");
         var sel1=document.getElementById("one1");
          var sel2=document.getElementById("two2");
         var sel3=document.getElementById("three3");
          clearSel(sel1);
          for(var i=0;i<one.length;i++)
          {
            sel1.options.add(new Option(one[i],one[i]));
         }
          var two=arr2[0].split("|");
         clearSel(sel2);
          for(var i=0;i<two.length;i++)
         {
            sel2.options.add(new Option(two[i],two[i]));
         }
          var three=arr3["2"].split("|");
          clearSel(sel3);
          for(var i=0;i<three.length;i++)
          {
            sel3.options.add(new Option(three[i],three[i]));
          } 
       }
       function clearSel(obj)
      {
         obj.innerHTML="";
       }
       function change1(obj)
       {
          j=obj.selectedIndex;
         var sel2=document.getElementById("two2");
           var sel3=document.getElementById("three3");
           var two=arr2[j].split("|");
          clearSel(sel2);
           clearSel(sel3);
           for(var i=0;i<two.length;i++)
           {
              sel2.options.add(new Option(two[i],two[i]));
           }
          var v=arr3[sel2.value].split("|");
          for(var m=0;m<v.length;m++)
          {
             sel3.options.add(new Option(v[m],v[m]));
          }
        }
        function change2(obj)
        {
            var sel2=document.getElementById("two2");
             var sel3=document.getElementById("three3");
              clearSel(sel3);
              if(arr3[sel2.value]!=null)
              {
                var v=arr3[sel2.value].split("|");
             
               for(var m=0;m<v.length;m++)
                {
                  sel3.options.add(new Option(v[m],v[m]));
                }
              }
              else
 
              {
                  sel3.options.add(new Option("没有值","没有值"));
              }
        }
      
     </script>
以上为三级联动!
 string imagetype =this.one1.SelectedValue.ToString();//one1.Text.ToString();
           string Imaname = this.two2.Text.ToString();// two2.SelectedItem.Text.ToString();
           string recheck=this.three3.Text.ToString();
当dropdownlist值改变的时候,后台获取不到值!autopostback为true时选择了就马上刷新还是没有值~

解决方案 »

  1.   

    是不是回传的问题ispostbacak处理了么?
      

  2.   

    多半是回传的问题、
     if(!IsPostBack)加个这个 。。、
      

  3.   

    三级联动很容易出这种问题,
    一般解决方法是:
    1>全部后台控制(runat="server")
    2>全部js控制,包括提交数据.
    如果两者混用,非常容易出现你这种情况
      

  4.   


    你是用js给后面的联动dropdownlist添加options的,当然拿不到值的。
    在页面放一个asp:Hidden,然后,在每个dropdownlist的onchange事件(非后台的OnChanged事件),给隐藏域赋值,这样在后台可以拿到隐藏域的值。
      

  5.   


    <select id="s1" onchange="s1changed()"></select>
    <select id="s2" onchange="s2changed()"></select>
    <select id="s3" onchange="s3changed()"></select>
    asp:HiddenField id="s1_hide" runat="server" />
    asp:HiddenField id="s2_hide" runat="server" />
    asp:HiddenField id="s3_hide" runat="server" />
    假设s1连动s2;s2连动s3。
     "s1changed()"的方法中:
    1. 把s1选择的value值放到s1_hide中,ajax获取数据,初始化s2的options。 "s2changed()"的方法中:
    1. 把s2选择的value值放到s2_hide中,ajax获取数据,初始化s3的options。 "s3changed()"的方法中:
    1. 把s3选择的value值放到s3_hide中。后台取s1_hide、s2_hide、s3_hide就是三个选项的value。
      

  6.   

    既然用了dropdownlist  那么为什么不用 它的服务器事件 页面用 js 写的话 刷新时同样也要绑定下一级联动的dropdownlist
    不然刷新 肯定又没了
      

  7.   

    四楼是对的,用JS给服务器控件赋值的话,后台是取不到数据的,可以加三个Hidden,这样的话,哪个DropDownList的值改变的时候,用JS把改变的值赋给Hidden,后台读取Hidden的值,貌似我以前回答过这样一个问题,不知道是不是你的
      

  8.   

    <dropdownlist> 和<select> 都换了~ 该加的加了~不过还是谢谢了! 
      

  9.   

    嗯 。很多这种情况 。hidden 。