基于jQuery Ajax實現(xiàn)下拉框無刷新聯(lián)動
更新時間:2017年12月06日 14:54:46 作者:秋荷雨翔
這篇文章主要為大家詳細介紹了基于jQuery Ajax實現(xiàn)下拉框無刷新聯(lián)動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了jQuery Ajax實現(xiàn)下拉框無刷新聯(lián)動的具體代碼,供大家參考,具體內(nèi)容如下
HTML代碼:
@{ Layout = null; } @using DAL; @using System.Data; @{ AreaDal areaDal = new AreaDal(); string areaId = ViewBag.areaId; DataRow drArea = areaDal.GetArea(areaId); string countyId = drArea == null ? "-1" : drArea["countyId"].ToString(); DataRow drCounty = areaDal.GetCounty(countyId); string cityId = drCounty == null ? "-1" : drCounty["cityId"].ToString(); DataRow drCity = areaDal.GetCity(cityId); string provinceId = drCity == null ? "-1" : drCity["provinceId"].ToString(); } <!DOCTYPE html> <html> <head> <title>商圈選擇</title> <script type="text/javascript"> //選中 function select(selId, id, callback) { $("#" + selId).val(id); if (callback) callback(); } //獲取省列表 function getProvinces(callback) { $.ajax({ type: "POST", url: "@Url.Content("~/Backstage/Area/GetProvinces")", data: {}, success: function (text) { $("#province").html(text); if (callback) callback(); }, error: function () { } }); } //獲取市列表 function getCities(pid, callback) { $.ajax({ type: "POST", url: "@Url.Content("~/Backstage/Area/GetCities")", data: { "provinceId": pid, }, success: function (text) { $("#city").html(text); if (callback) callback(); }, error: function () { } }); } //獲取區(qū)縣列表 function getCounties(pid, callback) { $.ajax({ type: "POST", url: "@Url.Content("~/Backstage/Area/GetCounties")", data: { "cityId": pid, }, success: function (text) { $("#county").html(text); if (callback) callback(); }, error: function () { } }); } //獲取商圈列表 function getAreas(pid, callback) { $.ajax({ type: "POST", url: "@Url.Content("~/Backstage/Area/GetAreas")", data: { "countyId": pid, }, success: function (text) { $("#area").html(text); if (callback) callback(); }, error: function () { } }); } </script> </head> <body> <select id="province"> <option value="-1">==請選擇==</option> </select> <select id="city"> <option value="-1">==請選擇==</option> </select> <select id="county"> <option value="-1">==請選擇==</option> </select> <select id="area"> <option value="-1">==請選擇==</option> </select> <script type="text/javascript"> //選擇省 $("#province").change(function () { var id = $(this).find("option:selected").val(); getCities(id, function () { $("#city").change(); }); }); //選擇市 $("#city").change(function () { var id = $(this).find("option:selected").val(); getCounties(id, function () { $("#county").change(); }); }); //選擇區(qū)縣 $("#county").change(function () { var id = $(this).find("option:selected").val(); getAreas(id, function () { $("#area").change(); }); }); getProvinces(function () { select("province", '@provinceId', function () { getCities('@provinceId', function () { select("city", '@cityId', function () { getCounties('@cityId', function () { select("county", '@countyId', function () { getAreas('@countyId', function () { select("area", '@areaId'); }); }); }); }); }); }); }); </script> </body> </html>
Controller代碼:
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web.Mvc; using DAL; namespace Controllers.Backstage { /// <summary> /// 行政區(qū)劃 /// </summary> public class AreaController : AdminBaseController { #region 構(gòu)造函數(shù)及變量 private SQLiteHelper.SQLiteHelper sqliteHelper; private AreaDal areaDal; public AreaController() { sqliteHelper = new SQLiteHelper.SQLiteHelper(); areaDal = new AreaDal(); } #endregion #region 行政區(qū)劃商圈級聯(lián)選擇頁面 public ActionResult AreaSelect() { return PartialView(); } #endregion #region 獲取全部省 public ActionResult GetProvinces() { DataTable dt = areaDal.GetProvincesAll(); StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<option value='-1'>==請選擇==</option>"); foreach (DataRow dr in dt.Rows) { sbHtml.AppendFormat("<option value='{0}'>{1}</option>", dr["id"].ToString(), dr["name"].ToString()); } return Content(sbHtml.ToString()); } #endregion #region 根據(jù)省獲取市 public ActionResult GetCities(string provinceId) { DataTable dt = areaDal.GetCities(provinceId); StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<option value='-1'>==請選擇==</option>"); foreach (DataRow dr in dt.Rows) { sbHtml.AppendFormat("<option value='{0}'>{1}</option>", dr["id"].ToString(), dr["name"].ToString()); } return Content(sbHtml.ToString()); } #endregion #region 根據(jù)市獲取區(qū)縣 public ActionResult GetCounties(string cityId) { DataTable dt = areaDal.GetCounties(cityId); StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<option value='-1'>==請選擇==</option>"); foreach (DataRow dr in dt.Rows) { sbHtml.AppendFormat("<option value='{0}'>{1}</option>", dr["id"].ToString(), dr["name"].ToString()); } return Content(sbHtml.ToString()); } #endregion #region 根據(jù)區(qū)縣獲取商圈 public ActionResult GetAreas(string countyId) { DataTable dt = areaDal.GetAreas(countyId); StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<option value='-1'>==請選擇==</option>"); foreach (DataRow dr in dt.Rows) { sbHtml.AppendFormat("<option value='{0}'>{1}</option>", dr["id"].ToString(), dr["name"].ToString()); } return Content(sbHtml.ToString()); } #endregion } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- jQuery模擬原生態(tài)App上拉刷新下拉加載更多頁面及原理
- jquery使用iscorll實現(xiàn)上拉、下拉加載刷新
- JQuery插件iScroll實現(xiàn)下拉刷新,滾動翻頁特效
- jQuery+AJAX實現(xiàn)無刷新下拉加載更多
- jquery ajax實現(xiàn)下拉框三級無刷新聯(lián)動,且保存保持選中值狀態(tài)
- 用Jquery實現(xiàn)多級下拉框無刷新的聯(lián)動
- jQuery 翻頁組件yunm.pager.js實現(xiàn)div局部刷新的思路
- jquery刷新頁面的實現(xiàn)代碼(局部及全頁面刷新)
- 用Jquery.load載入頁面實現(xiàn)局部刷新
- jQuery實現(xiàn)AJAX定時刷新局部頁面實例
- JQuery+Ajax無刷新分頁的實例代碼
- jQuery實現(xiàn)的上拉刷新功能組件示例
相關(guān)文章
Jquery實現(xiàn)select multiple左右添加和刪除功能的簡單實例
下面小編就為大家?guī)硪黄狫query實現(xiàn)select multiple左右添加和刪除功能的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05jQuery.Sumoselect插件實現(xiàn)下拉復(fù)選框效果
jquery.sumoselect是一款跨設(shè)備、跨瀏覽器的jQuery下拉列表框插件。接下來通過本文給大家分享jQuery.Sumoselect插件實現(xiàn)下拉復(fù)選框效果,需要的朋友參考下吧2017-11-11jquery如何改變html標簽的樣式(兩種實現(xiàn)方法)
對于如何修飾html標簽,這對于js來說,可以通過setAttribute來設(shè)置標簽的屬性,通過getAttribute來得到標簽的屬性,而在jq中當然也可以實現(xiàn)類似的功能,方法上肯定比js要簡化多了,接下來介紹實現(xiàn)方法,感興趣的朋友可以了解下2013-01-01