基于Bootstrap实现城市三级联动


Posted in Javascript onNovember 23, 2017

本文实例为大家分享了Bootstrap实现城市三级联动的具体代码,供大家参考,具体内容如下

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 ";

最重要的也就是数据

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

这是下载地址:三级联动

最终的效果图:

基于Bootstrap实现城市三级联动

最重要的也就是数据。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
jquery实现输入框动态增减的实例代码
Jul 14 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
jQuery+css实现百度百科的页面导航效果
Dec 16 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
Dec 24 Javascript
JS实现调用本地摄像头功能示例
May 18 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
小程序自动化测试的示例代码
Aug 11 Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
bootstrap-Treeview实现级联勾选
Nov 23 #Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 #Javascript
sublime text配置node.js调试(图文教程)
Nov 23 #Javascript
Vue代码分割懒加载的实现方法
Nov 23 #Javascript
初探js和简单隐藏效果的实例
Nov 23 #Javascript
详解如何在angular2中获取节点
Nov 23 #Javascript
Vuejs中使用markdown服务器端渲染的示例
Nov 22 #Javascript
You might like
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python自动裁剪图像代码分享
2017/11/25 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Python序列类型的打包和解包实例
2019/12/21 Python
python相对企业语言优势在哪
2020/06/12 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
如何通过python检查文件是否被占用
2020/12/18 Python
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
简历中的自我评价范文
2014/02/05 职场文书
《这儿真好》教学反思
2014/02/22 职场文书