最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小OO 时间:2020-11-27 22:24:10
文档

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

本文实例为大家分享了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);<;<。
推荐度:
导读本文实例为大家分享了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);<;<。


本文实例为大家分享了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 Ajax实现下拉框无刷新联动

本文实例为大家分享了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);<;<。
推荐度:
标签: 联动 ajax jQuery
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top