描述下问题:
有两个dropdownlist ddlst1和ddlst2,功能很简单,就是ddlst1当选定一个值时(该值不用考虑,比如选的值为1),ddlst2不可见,否则ddlst2可见。
通常有两个方法实现:1.如果用DropDownList 的AutoPostBack="True"方法在 ddllst1_SelectedIndexChanged事件中判断,设置ddlst2的Visible的属性即可。
2.用AJAX也可实现。
现在上级指定要用js来实现该功能,知道的情贴下码。不要给我baidu or google,支持手动!抵制总结型人才!

解决方案 »

  1.   


    function setstateonchange()
    {
      var a1=documnet.getElementById("ddlst1");
      if(a1!='')
    {
    var a2=documnet.getElementById("ddlst2");
    a2.visable=false;
    }
    }
    后台添加到ddlst1的onchange方法中
      

  2.   

    我就手动给你写个:$("#ddlst1").change(function () {
            if ($(this).val() == "1") {
                $("#ddlst2").show();
            } else {
                $("#ddlst2").hide();
            }
        });
      

  3.   

    哥哥这个很简单的!  
    能不能不用股服务器控件?
    string uid = Session["user_name"].ToString();
                    if (uid != null && uid != "")
                    {
                        divUserAddress.Style["display"] = "block";
                        this.isvidAddres.Style["display"] = "block";
                        DataSet ds = OrderManager.selectAddress(uid,1);
                        shtml = "<select id='selectVipAddres' onchange='vipaddresChange(this)' style='width:140px' ><option value=''>选择我的收货地址</option>";
                        for (int i = 0; i < ds.Tables[0].Rows.Count;i++ )
                        {
                            string addres = ds.Tables[0].Rows[i]["address"].ToString();
                            string id = ds.Tables[0].Rows[i]["id"].ToString();
                            string[] uaddres = addres.Split('-');
                            shtml += "<option value='" + uaddres[3] + "' id='" + id + "'>" + uaddres[3] + "</option>";
                        }
                        shtml += "</select>";
                        this.isvidAddres.InnerHtml = shtml;
                    }这样可以绑定出第一个 下拉菜单第一个选择该改变的时候调用vipaddresChange(this) 这个方法    
    这个方法中调用ajax时间  去重新读取第二个 select的选项  然后   用JS循环 结果到第二个里面去
      

  4.   


    JQUERY:
       $(function(){
          $("#ddlst1").change(function(){
              var a = $("#ddlst1").val();
              if(a == 1)
              {
                 $("#ddlst2").hide();
              }
              else
              {
                 $("#ddlst2").show();
              }
          })
       })
      

  5.   

    用jquery更简单,楼上几位 解答了。
      

  6.   

    按照1楼的提示我自己写了个,调试成功了,大家可以看下<head runat="server">    <script type="text/javascript">
    function setstateonchange()
    {
      var a1=document.getElementById("ddllst1");
      if(a1.value=='1')
    {
    var a2=document.getElementById("ddllst2");
    a2.style.visibility='hidden';
    }
    }
        </script>    <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="ddllst1" runat="server">
            </asp:DropDownList>
            <asp:DropDownList ID="ddllst2" runat="server">
            </asp:DropDownList>
        </div>
        </form>
    </body>
    </html>后台:
      protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    ddlst();
                    ddllst1.Attributes.Add("onchange", "setstateonchange()");
                }
            }        private void ddlst()
            {
                for (int i = 0; i < 9; i++)
                {
                    ddllst1.Items.Insert(0, new ListItem(i.ToString(), i.ToString()));
                }
            }
      

  7.   

    结贴了,1楼给我大的思路,给分,Jquery不太懂,知道对错,懂的人试试上面的Jquery,对的给多分
      

  8.   

    参考哦<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>New Document </title>
    <script language="JavaScript" type="text/javascript">var city=[
     ["北京","天津","上海","重庆"],
     ["南京","苏州","南通","常州"],
     ["福州","福安","龙岩","南平"],
     ["广州","潮阳","潮州","澄海"],
     ["兰州","白银","定西","敦煌"]
     ];
    function getCity(){
     var sltProvince=document.getElementById("province");
     var sltCity=document.getElementById("city");
     var provinceCity=city[sltProvince.selectedIndex-1];
     sltCity.length=1;
     for(var i=0;i<provinceCity.length;i++){
     sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
     }
    } </script>
     </head>
     <body> <form action="somepage.asp" name=theForm">
     <select name="province" id="province" onchange="getCity()">
      <option value="0">请选择所在省份</option>
      <option value="直辖市">直辖市</option>
      <option value="江苏省">江苏省</option>
      <option value="福建省">福建省</option>
      <option value="广东省">广东省</option>
      <option value="甘肃省">甘肃省</option>
     </select>
     <select id="city" name="city">
      <option value="0">请选择所在城市</option>
     </select>
     </form>
     </body>
     </html> 
      

  9.   

    补充一点:
    visibility和display都可以实现对域的隐藏,但visibility要占用域的空间,而display则不会。
    两组方法如下:
    visibility:
    document.all("tb_0").style.visibility="hidden"; 
    document.all("tb_1").style.visibility="visible"; display:
    document.all("tb_0").style.display="none"; 
    document.all("tb_1").style.display="block";