我用ajax做的一个三级联动   只能提取到第一级的值  后面两级的值都提不到。
第一个dropdownlist是:
this.dropclass1.DataSource=AjaxMethod.GetFirstClass();
this.dropclass1.DataTextField="Name";
this.dropclass1.DataValueField="ID";
this.dropclass1.DataBind();
后面两个是:
document.all("dropclass2").options.add(new Option(name,id));
document.all("dropclass3").options.add(new Option(name,id));

解决方案 »

  1.   

    http://topic.csdn.net/u/20090413/09/2d31ecd1-b938-4516-936b-96322b8197ca.html
      

  2.   

    看看dropdownlist的DataValueField有没有重复值
      

  3.   

    document.all("dropclass2").options.add(new Option(name,id)); 
    别这么写用
    document.getElementById("dropclass2").options.add(new Option(name,id)); 
      

  4.   


    document.all("dropclass2").options.add(new Option(name,id)); 
    document.all("dropclass3").options.add(new Option(name,id));
    改为
    dropclass2.Items.Insert(0, New ListItem(name,id))
    dropclass3.Items.Insert(1, New ListItem(name,id))检查id有没有重复
      

  5.   

    LS的  我的document.all("dropclass2").options.add(new Option(name,id)); 
    document.all("dropclass3").options.add(new Option(name,id)); 这个代码是javascript的代码
    你给我的是 .net的代码  根本不对 我用的是ajax
      

  6.   

    document.all("<%dropclass2.clientid %>").options.add(new Option(name,id)); 
      

  7.   

    javascript赋得值服务器取不到
    提交的时候把dropclass2.value赋给以个隐藏控件,服务器从隐藏控件中取值
      

  8.   


    document.getElementById("<%=dropclass2%>").options.add(new Option(name,id)); 
      

  9.   

    document.all("dropclass2").options.add(new Option(name,id)); 
    document.all("dropclass3").options.add(new Option(name,id));感觉可能没有绑定上值。你先查查 有值没有
      

  10.   

    用Request.Form("dropclass2")和Request.Form("dropclass3")
      

  11.   


    你用js赋值,后台取不到值,用一个隐藏控件
    或者是干脆用updatepanel
    然后用控件的selectedindexchanged事件
      

  12.   

    查看源文件  根本没有dropclass2 和 dropclass3的option
      

  13.   

    加个js函数 
        function getValue()    
        {
            var ddl1=document.getElementById('<%=ddl1.ClientID %>');
            var ddl2=document.getElementById('<%=ddl2.ClientID %>');
            var ddl3=document.getElementById('<%=ddl3.ClientID %>');
            var one=ddl1.options[ddl1.selectedIndex].text;
            var two=ddl2.options[ddl2.selectedIndex].text;
            var three=ddl3.options[ddl3.selectedIndex].text;
            
            document.getElementById('<%=hid.ClientID %>').value=one+','+two+','+three;
            
        }页面上加个 
    <asp:HiddenField ID="hid" runat="server" />在你按钮的OnClientClick 后面写getValue();  取值的时候 用 
    string []str=string.IsNullOrEmpty(hid.Value)?null:hid.Value.Split(','); str数组就是你需要的
      

  14.   

    没有这个控件<asp:HiddenField ID="hid" runat="server" />
      

  15.   

    你手写不就可以了么~  拖拽只是方便快速工作,对编码有害无益。
    Hidden 控件在工具箱的标准选项卡下,你找不到可以按字母排序