基于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)行查詢(xún),查詢(xú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查詢(xún)代碼
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ù)過(guò)后就能使用
這是下載地址:三級(jí)聯(lián)動(dòng)
最終的效果圖:
最重要的也就是數(shù)據(jù)。
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附兩個(gè)精彩的專(zhuān)題:Bootstrap學(xué)習(xí)教程 Bootstrap實(shí)戰(zhàn)教程
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Bootstrap導(dǎo)航條學(xué)習(xí)使用(一)
這篇文章主要為大家詳細(xì)介紹了Bootstrap導(dǎo)航條的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Javascript 阻止瀏覽器默認(rèn)操作的實(shí)現(xiàn)代碼
在瀏覽器事件中,會(huì)觸發(fā)一些默認(rèn)動(dòng)作,比如:點(diǎn)擊一個(gè)鏈接時(shí),執(zhí)行完捕獲/冒泡動(dòng)作后,會(huì)觸發(fā)鏈接的默認(rèn)事件:跳轉(zhuǎn)到指定鏈接地址。2009-09-09JavaScript滿(mǎn)天星導(dǎo)航欄實(shí)現(xiàn)方法
本篇文章給大家分享了JavaScript滿(mǎn)天星導(dǎo)航欄實(shí)現(xiàn)方法,以前也介紹過(guò)很多關(guān)于特效導(dǎo)航的制作方法,對(duì)此有興趣的朋友參考學(xué)習(xí)下。2018-03-03同時(shí)使用n個(gè)window onload加載實(shí)例介紹
window onload加載多個(gè)同時(shí)使用,想必有很多人沒(méi)有用過(guò)吧,接下來(lái)為大家詳細(xì)介紹下具體的使用方法,感興趣的朋友可以參考下2013-04-04JS實(shí)現(xiàn)模擬百度搜索“2012世界末日”網(wǎng)頁(yè)地震撕裂效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)模擬百度搜索“2012世界末日”網(wǎng)頁(yè)地震撕裂效果代碼,引入第三方插件實(shí)現(xiàn)頁(yè)面的抖動(dòng)、撕裂及圖片等效果,需要的朋友可以參考下2015-10-10