在mvc中用ajax实现省市联动

省市信息存储在tblArea表中,AreaPid等于0表示省一级名称,若要找省一级信息,则select * from tblArea areaPid=0 ;若找安徽省的县市则select * from tblArea where areapid=13



首先建立tblArea的EF类,然后建立Controllers


using C02MVC.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace C02MVC.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        nononodeleteImportantEntities1 data = new nononodeleteImportantEntities1();
        public ActionResult Index()
        {
            
            List<TblArea> list = data.TblArea.Where(model => model.AreaPId == 0).ToList();
            return View(list);
        }
        public ActionResult GetCity(int id)
        {
           List<TblArea> list  =data.TblArea.Where(model => model.AreaPId == id).ToList();
           return PartialView(list);
        }
    }
}


建立index视图,用来显示省份及相应的县市

@{
    Layout = null;
    
}
@model  List<C02MVC.Models.TblArea>
<!DOCTYPE html>

<html>
<head>
    <script src="~/Scripts/jquery-1.7.1.js"></script>
    <script src="~/Scripts/jquery.validate.js"></script>
    <Meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script type="text/javascript">
        $(function () {
            var province = $("#province");
            $("#city").load("/home/GetCity/" + province.val());
            province.change(function () {
                $("#city").load("/home/GetCity/" + province.val());     
            });
        });
    </script>
</head>
<body>
    <div>
        <select id="province">

       @foreach (var item in Model)
       {
          <option value="@item.AreaId">
              @item.AreaName
          </option>
       } 
      </select>
        <select id="city">

        </select>
    </div>
</body>
</html>


建立GetCity视图,为Ajax方式获取市县提供数据

@{
    Layout = null;
}
@model  List<C02MVC.Models.TblArea>

@foreach(var m in Model)
{
    <option value="@m.AreaId">@m.AreaName</option>
}






相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...