原文地址:https://blog.csdn.net/peiyuanxin/article/details/51992384

HTML代码部分

   <div class="form-group">
                <div class="col-sm-2 text-center">
                   省
                </div>
                <div class="col-sm-2">
                    <select class="form-control" name="Province" id="Province">
                        <option>==请选择===</option>
                    </select>

</div>
                <div class="col-sm-1 text-center">
                   市
                </div>
                <div class="col-sm-2">
                    <select class="form-control" name="City" id="City">
                        <option>==请选择===</option>
                    </select>
                </div>
                <div class="col-sm-1 text-center">
                县/区
                </div>
                <div class="col-sm-2">
                    <select class="form-control" name="Village" id="Village">
                        <option>==请选择===</option>
                    </select>
                </div>
            </div>

JS 代码部分

 $(function () {

//默认绑定省
    ProviceBind();
    //绑定事件
    $("#Province").change( function () {
        CityBind();
    })
    
    $("#City").change(function () {
        VillageBind();
    })

})
function Bind(str) {
    alert($("#Province").html());
    $("#Province").val(str);

}
function ProviceBind() {
    //清空下拉数据
    $("#Province").html("");

var str = "<option>==请选择===</option>";
    $.ajax({
        type: "POST",
        url: "/Home/GetAddress",
        data: { "parentiD": "", "MyColums": "Province" },
        dataType: "JSON",
        async: false,
        success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.Data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#Province").append(str);
        },
        error: function () { alert("Error"); }
    });

}
function CityBind() {

var provice = $("#Province").attr("value");
    //判断省份这个下拉框选中的值是否为空
    if (provice == "") {
        return;
    }
    $("#City").html("");
    var str = "<option>==请选择===</option>";

$.ajax({
        type: "POST",
        url: "/Home/GetAddress",
        data: { "parentiD": provice, "MyColums": "City" },
        dataType: "JSON",
        async: false,
        success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.Data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#City").append(str);
        },
        error: function () { alert("Error"); }
    });

}
function VillageBind() {

var provice = $("#City").attr("value");
    //判断市这个下拉框选中的值是否为空
    if (provice == "") {
        return;
    }
    $("#Village").html("");
    var str = "<option>==请选择===</option>";
    //将市的ID拿到数据库进行查询,查询出他的下级进行绑定
    $.ajax({
        type: "POST",
        url: "/Home/GetAddress",
        data: { "parentiD": provice, "MyColums": "Village" },
        dataType: "JSON",
        async: false,
        success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.Data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#Village").append(str);
        },
        error: function () { alert("Error"); }
    });
    //$.post("/Home/GetAddress", { parentiD: provice, MyColums: "Village" }, function (data) {  
    //    $.each(data.Data, function (i, item) {
    //        str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
    //    })
    //    $("#Village").append(str);
    //})
}

 

控制器+数据库
代码部分

   public ActionResult GetAddress(string parentiD, string MyColums)
        {
            ISysFieldBll sysfileBll = BLLFactory.DataAccess.GetBll<ISysFieldBll>();
            Result result = new Result();
            result.Data = sysfileBll.GetSysFieldParentId(parentiD,MyColums);
            return Json(result,JsonRequestBehavior.AllowGet);
        }
 
表代码  
CREATE TABLE [dbo].[SysField](
[Id] [nvarchar](36) NOT NULL,
[MyTexts] [nvarchar](200) NOT NULL,
[ParentId] [nvarchar](36) NULL,
[MyTables] [nvarchar](200) NULL,
[MyColums] [nvarchar](200) NULL,
[Sort] [int] NULL,
[Remark] [nvarchar](4000) NULL,
[CreateTime] [datetime] NULL,
[CreatePerson] [nvarchar](200) NULL,
[UpdateTime] [datetime] NULL,
[UpdatePerson] [nvarchar](200) NULL,
)
SQL查询代码  
            string sql = @"SELECT * FROM SysField WHERE 1=1 and MyTables='SysPerson'and MyColums=@MyColums and
ParentId=@ParentId  ";

 

最重要的也就是数据

 这是省市县的表格数据,直接导入到数据库过后就能使用       
       这是下载地址

 

http://download.csdn.net/detail/peiyuanxin/9583112

最终的效果图

 

[转]基于BootStrap 的城市三级联动的更多相关文章

  1. 全国城市三级联动 html+js

    全国城市三级联动,没有css,所以屏幕的自适应必须自己想办法,手机端慎用(最好不要用,因为有些我也说不出的展示问题). html页面 <!DOCTYPE html> <html> ...

  2. jquery 城市三级联动

    js代码 /*城市三级联动 * @method cityChange * @param allProvince,allCity,allDistrict */ function cityChange(p ...

  3. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...

  4. 城市三级联动 AJAX-原生js封装

    话不多说我们先来一张效果图给大家看一下: html代码如下: <!DOCTYPE html><html lang="en"><head> < ...

  5. JS全国城市三级联动

    HTML <select id="s_province" name="s_province"></select> <select ...

  6. 使用mint ui 的picker解决城市三级联动

    <mt-popup v-model="popupVisible" position="bottom"> <div class="po ...

  7. ASP.NET webform基于Jquery,AJAX的三级联动

    主要html代码 <select id="province"> <option value="0">--请选择省份--</opti ...

  8. vue 选城市三级联动

    <div id="example"> <select v-model="prov"> <option v-for="op ...

  9. vue父组件获取子组件页面的数组 以城市三级联动为例

    父组件调用子组件 <Cselect ref="registerAddress"></Cselect> import Cselect from '../../ ...

随机推荐

  1. 【Oracle】Oracle中dump函数的用法

    一.函数标准格式: DUMP(expr[,return_fmt[,start_position][,length]]) 基本参数时4个,最少可以填的参数是0个.当完全没有参数时,直接返回null.另外 ...

  2. MongoDB学习笔记(2)

    MongoDB 创建数据库 语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 实例 以下实例我们创建了数据库 ...

  3. 打开Word时出现“The setup controller has encountered a problem during install. Please ...”什么意思

    解决办法:找到C:\Program Files\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller,将这个文件夹删除或改名,就 ...

  4. 【转】Google 的眼光

    Google 的眼光 你知道吗,Google(Alphabet)要卖掉 Boston Dynamics,一个它收购才没多久的机器人公司.这也意味着,Google 准备完全退出机器人的领域.新闻传言说, ...

  5. Openlayers2中统计图的实现

    概述: 在前文中.介绍了Arcgis for js和Openlayers3中统计图的实现.在本文,书接上文.介绍在Openlayers2中,统计图的实现. 实现: 在Openlayers2中,popu ...

  6. VMware Workstation 11

    VMware Workstation 11开始只支持Windows7以上的64位系统,VMware Workstation 10.0.6为最后支持32位和XP的系统. 下载地址: VMware Wor ...

  7. Cg入门11:Vertex Shader - 几何变换 —MVP矩阵变换(旋转、缩放)

    旋转.缩放demo C# Code: Shader Code: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize ...

  8. pyspark dataframe 常用操作

    spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当然主要对类SQL的支持.   在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选.合并,重新入库.   首先加 ...

  9. hibernate显示完整的sql(转)

    不完整的SQL Hibernate: /* insert com.test.bean.User */ insert into user (username, password, email, sex) ...

  10. 创建多模块springcloud应用eureka server和client和消费端demo

    使用环境是 STS + maven 1 创建父级 项目,springcloud-demo1 new -> maven project -> 按照要求进行配置即可.然后删除 src目录,因为 ...