省市联动下拉菜单的实现

  省市联动下拉菜单的实现
一、数据库的建立
为了更好的实现与数据库连接,省表中需要有两个元素,一个是省编号,一个是省名称;市表中需要有三个元素,一个是市编号,一个是市名称,更重要的是这个市改隶属于那个省。
省表(UserProvince)
ProID    ProName
1            河南
2            安徽
市表(UserCity)
CityID    ProID    CityName
1              1         郑州
2              2         合肥

二、代码
后台:(定义两个关于省市的的函数,通过SelectedIndexChanged事件实现对市的筛选)
protected void Page_Load(object sender, EventArgs e)
    {
            BindProvince();
            BindCity();
        }
 private void BindProvince()
        {
            string sql = "select ProID,ProName from UserProvince";
            SqlConnection conn = new SqlConnection("SqlDataSource1");
            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            conn.Open();
            adapter.Fill(ds);
            conn.Close();
            ddlprovince.DataSource = ds.Tables[0];
            ddlprovince.DataValueField = "ProID";
            ddlprovince.DataTextField = "ProName";
            ddlprovince.DataBind();
        }
        private void BindCity()
        {
            string sql = "select CityID,ProID,CityName from UserCity; ";
            SqlConnection conn = new SqlConnection("SqlDataSource2");
            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            conn.Open();
            adapter.Fill(ds);
            conn.Close();
            ddlCity.DataSource = ds.Tables[0];
            ddlCity.DataValueField = "CityID";
            ddlCity.DataTextField = "CityName";
            ddlCity.DataBind();
        }
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
    {
       
            int ProID = this.ddlprovince.SelectedIndex + 1;
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "User ID=sa;Initial Catalog=News;Data Source= (local);Password=123";
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from [News].[dbo].[UserCity] where ProID=‘"+ProID+"‘");
            cmd.Connection = conn;
            SqlDataReader sdr = cmd.ExecuteReader();
            //绑定
            this.ddlCity.DataSource = sdr;
            this.ddlCity.DataTextField = "CityName";
            this.ddlCity.DataValueField = "CityID";
            this.ddlCity.DataBind();
            sdr.Close();
            conn.Close();
        }
}
前台:(两个连接数据库的DropDownList控件)
 <asp:DropDownList ID="ddlprovince" runat="server" widtn="55px" DataSourceID="SqlDataSource1" DataTextField="proName" DataValueField="proID" AutoPostBack="True" OnSelectedIndexChanged="ddlprovince_SelectedIndexChanged">
                                    </asp:DropDownList>
                                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NewsConnectionString2 %>" SelectCommand="SELECT [proID], [proName] FROM [Userprovince]"></asp:SqlDataSource>
                                    <asp:DropDownList ID="ddlCity" runat="server" widtn="55px"  DataTextField="cityName" DataValueField="cityID" AutoPostBack="True">
                                    </asp:DropDownList>
                                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:NewsConnectionString3 %>" SelectCommand="SELECT [cityID], [proID], [cityName] FROM [UserCity]"></asp:SqlDataSource>

时间: 2024-08-25 12:05:46

省市联动下拉菜单的实现的相关文章

二级省市联动下拉菜单

<html><head><title>桨式搅拌机</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body bgcolor="#FFFFFF" text="#000000"><script language="j

省市区县街道四级联动下拉菜单

参考代码: JQuery中国省市区街道三级.四级联动下拉菜单插件 (将代码中单纯的四级联动提取出来,对其中的bug进行了修正,并完善了一些不完美的地方) 先通过最终效果看一下功能: 代码如下: index.html:(注:请将代码中的jquery.min.js替换成你本地的jquery地址) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQuery四级

(实用篇)jQuery+PHP+MySQL实现二级联动下拉菜单

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类:  前端技术   程序开发   数据库   小类: 实现的效果就是当选择大类时,小类下拉框里的选项内容也随着改变.实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理. XHTML 首先我们要建立两个下拉选择框,第一个是大类

jQuery cxSelect 多级联动下拉菜单

随着电商热门,这种多层次的互动更充分地体现在下拉菜单,最明显的是多级联动地址下拉选择,因此,这里是一个简单的分享 jQuery cxSelect 多级联动下拉菜单 cxSelect 它是基于 jQuery 多级联动菜单插件.它适用于各省.动菜单. 列表数据通过 AJAX 获取(须要在server环境执行),也能够使用变量自己定义,数据内容使用 JSON 格式. 提供国内省市县数据(数据来源:basecss/cityData Date: 2014.03.31) 个人一直都有习惯,当有新知识点须要学

联动下拉菜单

<!doctype html><html><head><meta charset="utf-8"><title>联动下拉菜单</title><script>window.onload = function(){    var s1 = new Sel('div1');    s1.add('0',['1','2','3']);        s1.add('0_0',['1_1','1_2','1_3'

InfoPath与SharePoint之(三) 在InfoPath中实现联动下拉菜单

在InfoPath中实现联动的下拉菜单是一种比较常见的需求.这里通过演示如何选择省份和城市,讲解一下如何实现联动下拉菜单. 首先在上一篇博客里建的Area List,再加一个City的column,类型就是Single Line of Text. 在上一篇的博客中创建的下拉菜单旁边,再添加一个,用来显示城市.这个时候两个下拉菜单是没有关联的,而且显示的都是全部的item. 为了方便区分,去把两个Drop-Down List改了名词,分别是Province 和City. 首先我们要去除掉省份的重复

ajax三级联动下拉菜单

ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过ajax发出请求传递到服务端的程序中 (2)比如取中国地域,中国是0001,那么自带号为0001的便是中国地域: 北京的代号为11,那么子代号为11的便是北京时的市区, 也就是说根据主代号查询子代号: (3)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端 显示页面非常简单,只需要一

n级联动下拉菜单组件

这是最近在写的一套前端库中的一个组件,支持n级联动的下拉菜单,在这里跟大家分享一下. 使用方法如下: <div id="test"> <p>省份:<select></select></p> <p>城市:<select></select></p> <p>商家:<select></select></p> </div> <

ajax实现三级联动下拉菜单

先不要着急去实现功能,我们第一步首先要理清思路,想要实现三级联动,首先要有三个下拉框,然后点击第一个下拉菜单,可以联动到第二个,点击第二个联动到第三个,实现省市区的三级联动,用到的数据表如下: 为了以后可以随时拿出来用,我们先在主页面建立一个div叫sanji,然后用一个js页面来引用: 主页面引入Jquery和js: <title>无标题文档</title> <script src="jquery-3.2.0.min.js"></script