C# 基于Bootstrap的三级联动
实现效果如图:

一、声明市、县、乡对应的下拉控件select
<div class="form-group">
<label class="col-sm-1 control-label" for="ds_username">
所选区域:</label>
<div class="col-sm-2">
<select id="sl_shi" class="form-control">
<option value=""></option>
</select>
</div>
<div class="col-sm-2">
<select id="sl_xian" class="form-control">
</select>
</div>
<div class="col-sm-2">
<select id="sl_xiang" class="form-control">
</select>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-primary">
查询</button>
</div>
</div>
二、JS代码:三级联动改变上一级的值触发下一级的数据绑定,因为首次绑定不会触发改变事件,所以默认一个空列,让用户自己选择。
<script type="text/javascript">
$(function () {//默认绑定省
ShiBind();
//绑定事件
$("#sl_shi").change(function () {
XianBind();
});
$("#sl_xian").change(function () {
XiangBind();
});
});
function ShiBind() {
$.ajax({
type: 'get',
url: 'jgdx.ashx?action=bindShi',
dataType: 'json',
success: function (datas) {//返回list数据并循环获取
var select = $("#sl_shi");
for (var i = ; i < datas.length; i++) {
select.append("<option value='" + datas[i].id + "'>"
+ datas[i].shi + "</option>");
}
$('.selectpicker').selectpicker('val', '');
$('.selectpicker').selectpicker('refresh');
}
});
}
function XianBind() {
var shi = $("#sl_shi").val();
//判断下拉框选中的值是否为空
if (shi == "") {
return;
}
$("#sl_xian").html("");
$("#sl_xiang").html("");
$.ajax({
type: "POST",
url: "jgdx.ashx",
data: { "action": "bindXian", "id": shi },
dataType: "JSON",
async: false,
success: function (datas) {//返回list数据并循环获取
var select = $("#sl_xian");
select.append("<option value='0'> </option>");
for (var i = ; i < datas.length; i++) {
select.append("<option value='" + datas[i].id + "'>"
+ datas[i].xian + "</option>");
}
$('.selectpicker').selectpicker('val', '');
$('.selectpicker').selectpicker('refresh');
}
});
}
function XiangBind() {
var shi = $("#sl_shi").val();
var xian = $("#sl_xian").val();
if (xian == "") {
return;
}
$("#sl_xiang").html("");
$.ajax({
type: "POST",
url: "jgdx.ashx",
data: { "action": "bindXiang", "xian": xian, "shi": shi },
dataType: "JSON",
async: false,
success: function (datas) {//返回list数据并循环获取
var select = $("#sl_xiang");
select.append("<option value='0'> </option>");
for (var i = ; i < datas.length; i++) {
select.append("<option value='" + datas[i].id + "'>"
+ datas[i].xiang + "</option>");
}
$('.selectpicker').selectpicker('val', '');
$('.selectpicker').selectpicker('refresh');
}
});
}
</script>
三、后台代码:从数据库读取数据,转换为json串,返回前台。
public void ProcessRequest(HttpContext context)
{
string output = "";
string action = context.Request["action"].ToString();switch (action)
{case "bindShi":
output = BindShi(); //返回json格式:[{"id":"238","shi":"滨州市"},{"id":"236","shi":"德州市"}]
break;
case "bindXian":
output = BindXian(context); //[{"id":"2525","xian":"城阳区"},{"id":"2534","xian":"黄岛区"}]
break;
case "bindXiang":
output = BindXiang(context); //[{"id":"21195","xiang":"岙山卫镇"},{"id":"21191","xiang":"北安街道"}]
break;
default:
break;
}
context.Response.ContentType = "text/plain";
context.Response.Write(output);
}
C# 基于Bootstrap的三级联动的更多相关文章
- 基于JQ的三级联动菜单选择
<!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- 基于Jquery实现省份、城市、区县三级联动
前端感觉写的比较少,也是为了练手,下午没事用来写了这个三级联动,也是第一次写这东西. 据我了解,城市信息可以选择存在数据库或者直接写在前端,为了省事,我直接写在前端,下面是我的代码: <!DOC ...
- 基于ThinkPHP+AJAX的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- Ajax来实现下拉框省市区三级联动效果(服务端基于express)
//服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...
- 基于jQuery的AJAX实现三级联动菜单
最近学习jQuery,所以就写了一个关于中国省市县/区的三级联动菜单,权当相互学习,相互促进,特此记录. 下面是嵌套js的html文件: <!DOCTYPE html> <html ...
- 基于thinkphp和ajax的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- 【巷子】---vue基于mint-ui三级联动---【vue】
一.基本配置 https://github.com/modood/Administrative-divisions-of-China 三级联动数据地址 二.vue基本配置 1.cnpm install ...
- android:省市县三级联动(基于json和spring)
一.请看效果图": 二.程序的代码: 1.MainActivity.java package com.loveplusplus.loader.demo.ui; import org.json ...
- jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...
随机推荐
- C语言与C++语言之间关系
很多时候我们对于C和C++的区别不是很清楚,以至于弄混的情况并不少见.那C语言和C++语言到底是怎么回事呢? 首先,我们来看下百度百科对语言和C++语言描述,相对而说也还算是比较权威的. C语言 C语 ...
- linux操作日志:远程登录设置
想要远程linux服务器,首先需要在服务器上开通ssh服务,安装命令如下: sudo apt-get install openssh-server 在上图的提示中,输入“y”,继续等待安装,安装成 ...
- 自创最精简的python装饰器
个人心血原创,欢迎转载,请注明作者和出处.否则依法追究法律责任!!!! author:headsen chen date:2018-03-21 10:37:52 代码: 代码解析过程:1,def ...
- 二叉搜索树(Java实现)
二叉搜索树基本操作 求树中的结点个数 判断节点是否为空 向树中插入新结点key-value 树中是否存在key 返回树中key对应的value值 先序遍历 中序遍历 后续遍历 层序遍历 求树中key最 ...
- JQ在光标处插入文字
内容转载自网络这是一个JQ的扩展方法.在teatarea获得焦点时,往光标处插入文字,扩展代码如下 (function($){ $.fn.extend({ "insert":fun ...
- 配置COCO API(安装COCO)
仍旧是win10,Python3.5 从GitHub下载coco源码,解压到任意文件夹.(或者创建一个工程)coco源码链接 https://github.com/cocodataset/cocoap ...
- CountDownLatch 使用说明
CountDownLatch是一种java.util.concurrent包下一个同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成. CountDownLatch的用法非常简单,下 ...
- 云计算--网络原理与应用--20171123--网络地址转换NAT
NAT的概述 NAT的配置 实验 一. NAT的概述 NAT(Network address translation,网络地址转换)通过将内部网络的的私有地址翻译成全球唯一的共有网络IP地址,是内部网 ...
- Active MQ 实战(一)
1.什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送 ...
- Beta Scrum Day 7
听说