基于Bootstrap實(shí)現(xiàn)城市三級(jí)聯(lián)動(dòng)
本文實(shí)例為大家分享了Bootstrap實(shí)現(xiàn)城市三級(jí)聯(lián)動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
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>==請(qǐng)選擇===</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>==請(qǐng)選擇===</option> </select> </div> <div class="col-sm-1 text-center"> 縣/區(qū) </div> <div class="col-sm-2"> <select class="form-control" name="Village" id="Village"> <option>==請(qǐng)選擇===</option> </select> </div> </div>
JS 代碼部分
$(function () {
//默認(rèn)綁定省
ProviceBind();
//綁定事件
$("#Province").change( function () {
CityBind();
})
$("#City").change(function () {
VillageBind();
})
})
function Bind(str) {
alert($("#Province").html());
$("#Province").val(str);
}
function ProviceBind() {
//清空下拉數(shù)據(jù)
$("#Province").html("");
var str = "<option>==請(qǐng)選擇===</option>";
$.ajax({
type: "POST",
url: "/Home/GetAddress",
data: { "parentiD": "", "MyColums": "Province" },
dataType: "JSON",
async: false,
success: function (data) {
//從服務(wù)器獲取數(shù)據(jù)進(jìn)行綁定
$.each(data.Data, function (i, item) {
str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
})
//將數(shù)據(jù)添加到省份這個(gè)下拉框里面
$("#Province").append(str);
},
error: function () { alert("Error"); }
});
}
function CityBind() {
var provice = $("#Province").attr("value");
//判斷省份這個(gè)下拉框選中的值是否為空
if (provice == "") {
return;
}
$("#City").html("");
var str = "<option>==請(qǐng)選擇===</option>";
$.ajax({
type: "POST",
url: "/Home/GetAddress",
data: { "parentiD": provice, "MyColums": "City" },
dataType: "JSON",
async: false,
success: function (data) {
//從服務(wù)器獲取數(shù)據(jù)進(jìn)行綁定
$.each(data.Data, function (i, item) {
str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
})
//將數(shù)據(jù)添加到省份這個(gè)下拉框里面
$("#City").append(str);
},
error: function () { alert("Error"); }
});
}
function VillageBind() {
var provice = $("#City").attr("value");
//判斷市這個(gè)下拉框選中的值是否為空
if (provice == "") {
return;
}
$("#Village").html("");
var str = "<option>==請(qǐng)選擇===</option>";
//將市的ID拿到數(shù)據(jù)庫(kù)進(jìn)行查詢,查詢出他的下級(jí)進(jìn)行綁定
$.ajax({
type: "POST",
url: "/Home/GetAddress",
data: { "parentiD": provice, "MyColums": "Village" },
dataType: "JSON",
async: false,
success: function (data) {
//從服務(wù)器獲取數(shù)據(jù)進(jìn)行綁定
$.each(data.Data, function (i, item) {
str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
})
//將數(shù)據(jù)添加到省份這個(gè)下拉框里面
$("#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);
//})
}
控制器+數(shù)據(jù)庫(kù) 代碼部分
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 ";
最重要的也就是數(shù)據(jù)
這是省市縣的表格數(shù)據(jù),直接導(dǎo)入到數(shù)據(jù)庫(kù)過后就能使用
這是下載地址:三級(jí)聯(lián)動(dòng)
最終的效果圖:

最重要的也就是數(shù)據(jù)。
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附兩個(gè)精彩的專題:Bootstrap學(xué)習(xí)教程 Bootstrap實(shí)戰(zhàn)教程
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解讀new?Object()和Object.create()的區(qū)別
這篇文章主要介紹了解讀new?Object()和Object.create()的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
基于Marquee.js插件實(shí)現(xiàn)的跑馬燈效果示例
這篇文章主要介紹了基于Marquee.js插件實(shí)現(xiàn)的跑馬燈效果,結(jié)合實(shí)例形式給出了Marquee.js插件的定義及具體使用方法,需要的朋友可以參考下2017-01-01
關(guān)于Javascript中值得學(xué)習(xí)的特性總結(jié)
本文主要介紹了一些Javascript中值得學(xué)習(xí)的特性,可選鏈操作符,空值合并運(yùn)算符,Promise.allSettled(),BigInt類型等特性,文中有詳細(xì)的代碼示例介紹這些特性,感興趣的可以參考下2023-05-05
基于JavaScript實(shí)現(xiàn)TAB標(biāo)簽效果
js實(shí)現(xiàn)tab標(biāo)簽效果,在項(xiàng)目中經(jīng)常用到,今天抽點(diǎn)時(shí)間把我寫的js實(shí)現(xiàn)tab標(biāo)簽效果源碼分享給大家,對(duì)js tab標(biāo)簽代碼需要的朋友參考下2016-01-01
js實(shí)現(xiàn)仿微博滾動(dòng)顯示信息的效果
這篇文章主要介紹了js實(shí)現(xiàn)仿微博滾動(dòng)顯示信息的效果,通過由上往下滾動(dòng)來實(shí)現(xiàn)不斷顯示微博的,而且每一天新微博都是通過淡入效果顯示的,需要的朋友可以參考下2015-12-12
JavaScript實(shí)現(xiàn)按鍵精靈的原理分析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)按鍵精靈的原理分析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02

