二级联动

  
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript">
        var xmlhttp;
        function Bind() {
            var select1 = document.getElementById("Select1");
            var tab = AjaxExample._Default.GetCityById(0).value;
            if (tab != null && typeof (tab) == "object") {
                select1.length = 0;
                select1.options.add(new Option("请选择", -1));
                for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
                    var txt = tab.Tables[0].Rows[i].abc;
                    var vol = tab.Tables[0].Rows[i].efg;
                    select1.options.add(new Option(txt,vol));
                }
            }
        }
        function showNext() {
            var select2 = document.getElementById("Select2");
            var id = document.getElementById("Select1").value;
            var tab = AjaxExample._Default.GetCityById(id).value;
            if (tab != null && typeof (tab) == "object") {
                select2.length = 0;
                select2.options.add(new Option("请选择", -1));
                for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
                    var txt = tab.Tables[0].Rows[i].abc;
                    var vol = tab.Tables[0].Rows[i].efg;
                    select2.options.add(new Option(txt, vol));
                }
            }

        }
        //创建
        function createDemo() {
            if (window.ActiveXObject) {
                var ieArr = ["Msxml2.XMLHTTP.8.0", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
                for (var i = 0; i < ieArr.length; i++) {
                    try {
                        xmlHttp = new ActiveXObject(ieArr[i]);
                    }
                    catch (e) { } //抛异常,直到找到合适的版本
                }

            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
        }
        //关联
        function doDemo() {
            //获取选中项的下标
            var index = 0;
            var select2 = document.getElementById("Select2");
            for (var i = 0; i < select2.length; i++) {
                if (select2.options[i].selected == true) {
                    index = i;
                }
            }
            //获取选中项的文本
            var cityname = select2.options[index].innerText;
            createDemo();
            xmlHttp.onreadystatechange = disDemo;
            var url = "WebForm1.aspx?name=" + cityname;
            //  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xmlHttp.open("GET", url, true);
            xmlHttp.send(null);
        }
        function disDemo() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {
                    //                   
                    document.getElementById("context").innerHTML = xmlHttp.responseText;
                }
            }
        }
        function showDDL2() {
            var ddl = document.getElementById("DropDownList1");
            //获取第一个DDL控件选定的value
            var selectvalue = ddl.options[ddl.selectedIndex].value;
            var select2 = document.getElementById("DropDownList2");
            var tab = AjaxExample._Default.GetCityById(selectvalue).value;
            if (tab != null && typeof (tab) == "object") {
                select2.length = 0;
                select2.options.add(new Option("请选择", -1));
                for (var i = 0; i < tab.Tables[0].Rows.length; i++) {
                    var txt = tab.Tables[0].Rows[i].abc;
                    var vol = tab.Tables[0].Rows[i].efg;
                    select2.options.add(new Option(txt, vol));
                }
            }
        }
    </script>
   
</head>
<body οnlοad="Bind();">
    <form id="form1" runat="server">
    <div>
    select控件实现无刷新联动<br />
    <select id="Select1" name="D1" οnchange="showNext();">
    <option></option>
    </select>
    <select id="Select2" name="D2">
    <option></option>
  
    </select>
    <input id="Button1" type="button" value="查询" οnclick="doDemo();" /><br />
    <br />
    <br />
    <br />
    <br />
    dropdownlist控件实现无刷新联动
    <br />
        <asp:DropDownList ID="DropDownList1" runat="server" οnchange="showDDL2();">
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownList2" runat="server">
        </asp:DropDownList>
    </div>
    <div id="context"></div>
    </form>
</body>
</html>

public partial class _Default : System.Web.UI.Page
    {
        public DataSet ds;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
                DropDownList1.DataSource = GetCityById(0);
                DropDownList1.DataTextField = "abc";
                DropDownList1.DataValueField = "efg";
                DropDownList1.DataBind();                
            }
        }
        public SqlConnection myconn()
        {
            string strconn = "server=.;database=db_TomeOne;uid=sa;pwd=123";
            SqlConnection  conn = new SqlConnection(strconn);
            try
            {
                conn.Open();
                return conn;
            }
            catch  
            {
                
                throw;
            }
        }
        public DataSet getDs(string sql)
        {
            SqlConnection conn = myconn();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(sql,conn);
            try
            {
                da.Fill(ds);
                return ds;

            }
            catch 
            {

                return null;
            }

        }
        [AjaxPro.AjaxMethod]
        public DataSet GetCityById(int id)
        {
            string sql = string.Format("select cname as abc,id as efg from city where parentid='{0}'",id);
            try
            {
                return getDs(sql);
            }
            catch  
            {

                return null;
            }
        }
    }

 public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string cityname = Request.QueryString["name"];
                DataTable dt = GetUserByCity(cityname).Tables[0];
                StringBuilder sb = new StringBuilder();
                sb.Append("<table border='1' id='tab1'><tr><td>姓名</td><td>住址</td></tr>");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    sb.Append("<tr><td>" + dt.Rows[i]["uname"] + "</td><td>" + dt.Rows[i]["address"] + "</td></tr>");
                }
                sb.Append("</table>");
                Response.Write(sb.ToString());
                Response.End();
            }
        }
         public DataSet GetUserByCity(string cityname)
        {
            string sql = string.Format("select * from users where address ='{0}'", cityname);
            try
            {
                return getDs(sql);
            }
            catch
            {

                return null;
            }
        }
        /// <summary>
        /// 数据库连接
        /// </summary>
        /// <returns></returns>
        public SqlConnection myConn()
        {
            string ConnStr = "server=.;database=db_TomeOne;uid=sa;pwd=123";
            SqlConnection conn = new SqlConnection(ConnStr);
            try
            {
                conn.Open();
                return conn;
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// 返回一个DataSet
        /// </summary>
        /// <param name="SQL"></param>
        /// <returns></returns>
        public DataSet getDs(string SQL)
        {
            SqlConnection conn = myConn();
            DataSet Ds = new DataSet();
            SqlDataAdapter Da = new SqlDataAdapter(SQL, conn);
            try
            {
                Da.Fill(Ds);
                return Ds;
            }
            catch
            {
                return null;
                //throw;
            }

        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值