温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

基于jQuery Ajax怎么实现下拉框无刷新联动

发布时间:2021-05-18 12:50:03 来源:亿速云 阅读:182 作者:小新 栏目:web开发

这篇文章主要介绍基于jQuery Ajax怎么实现下拉框无刷新联动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

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 () {         }       });     }     //获取区县列表     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();       });     });     //选择区县     $("#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>   /// 行政区划   /// </summary>   public class AreaController : AdminBaseController   {     #region 构造函数及变量     private SQLiteHelper.SQLiteHelper sqliteHelper;     private AreaDal areaDal;     public AreaController()     {       sqliteHelper = new SQLiteHelper.SQLiteHelper();       areaDal = new AreaDal();     }     #endregion     #region 行政区划商圈级联选择页面     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 根据省获取市     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 根据市获取区县     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 根据区县获取商圈     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   } }

jquery是什么

jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功能接口、高效灵活的css选择器,并且可对CSS选择器进行扩展、拥有便捷的插件扩展机制和丰富的插件,是继Prototype之后又一个优秀的JavaScript代码库,能够用于简化事件处理、HTML文档遍历、Ajax交互和动画,以便快速开发网站。

以上是“基于jQuery Ajax怎么实现下拉框无刷新联动”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI