jquery ajax下拉联动,基于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);

string cityId = drCounty == null ? "-1" : drCounty["cityId"].ToString();

DataRow drCity = areaDal.GetCity(cityId);

string provinceId = drCity == null ? "-1" : drCity["provinceId"].ToString();

}

商圈选择

//选中

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 () {

}

});

}

==请选择==

==请选择==

==请选择==

==请选择==

//选择省

$("#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');

});

});

});

});

});

});

});

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

{

///

/// 行政区划

///

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("==请选择==");

foreach (DataRow dr in dt.Rows)

{

sbHtml.AppendFormat("{1}", 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("==请选择==");

foreach (DataRow dr in dt.Rows)

{

sbHtml.AppendFormat("{1}", 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("==请选择==");

foreach (DataRow dr in dt.Rows)

{

sbHtml.AppendFormat("{1}", 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("==请选择==");

foreach (DataRow dr in dt.Rows)

{

sbHtml.AppendFormat("{1}", dr["id"].ToString(), dr["name"].ToString());

}

return Content(sbHtml.ToString());

}

#endregion

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 8新闻

Java 8, b128和Java 8 RC2的第一个候选版本于2月出现,修复了新Comparator API中的一个严重缺陷,该缺陷中其新的thenComparing()方法具有不必要的类型限制。 java.util.Comparator的thenComparing()方法不需要类型U扩展java.lang.Comparable &…

HDP 2.6 requires libtirpc-devel

HDP 2.6 requires libtirpc-devel 个问题,截止 Mustafa Kemal MAYUK 2017年06月30日 06:30 hadoopPowerSystemsHello, I am trying to install HDP 2.6 on RHEL 7.2 ppc64le. Installation over ambari fails due to "Error: Package: hadoop_2_6_0_3_8-hdfs-2…

推荐10款非常有用的 Ajax 插件

这篇文章与大家分享的是10款非常有用的 Ajax 插件,有用于图片的,用于分页的,还有用于导航的。这些作者的想法特别新颖,希望你能从中找到自己需要的插件。 1. AJAX-ZOOM 非常强大的一款插件,可用鼠标滚轮进行缩放&…

luogu P1083 借教室

传送门 小水题吧 二分能处理到的询问即可 用差分维护前x个订单之后的值 最后求一遍前缀和 如果爆负就是有不满足的 复杂度O((mn)lgm) 或者区间加和区间最小值线段树也行(常数略大) Code:(线段树) 1 #include<cstdio>2 #include<cstring>3 #include<cmath>4 #…

svgaps绘制时不能用中文命名吗_设计师需要了解的切图命名规范

2020年8月21日下午4点50分 黄河公园通常我们在界面设计完成之后要切图给到前端开发。初做UI设计时&#xff0c;把重点都放在设计效果图上&#xff0c;对之后的切图命名规范没有很注重。当时我会有一些疑惑&#xff0c;切图命名的原则是什么&#xff1f;直接命名为能表达清楚的名…

hdu-1728(贪心bfs的灵活运用吧)

链接 [https://vjudge.net/contest/256476#problem/D] 题意 给定一个m n (m行, n列)的迷宫&#xff0c;迷宫中有两个位置&#xff0c;gloria想从迷宫的一个位置走到另外一个位置&#xff0c;当然迷宫中有些地方是空地&#xff0c;gloria可以穿越&#xff0c;有些地方是障碍&am…

jquery ajax.then,jQuery动态AJAX Promise链

小编典典解决方案使用for&#xff1a;var array [One, Two, Three];var id array[0];var data getData(id);for (var i 1; i < array.length; i) {// Or only the last "i" will be used(function (i) {data data.then(function() {return getData(array[i])…

分享20个漂亮的DIV CSS标准化站点案例

看到有些网站的代码十分优雅&#xff0c;心想自己什么时候也能写出这么好的代码。其实&#xff0c;这不是一朝一夕能达到的&#xff0c;需要的实践中不断锤炼和提高。我们可以通过分析别人写得好的网页代码来更加快速的提高自己&#xff0c;下面向大家推荐20个基于DIV CSS标准布…

在单独的WAR组件中对SPA资源和API实现进行分区

单页应用程序正Swift吸引人们的注意力&#xff0c;以实现基于Web的丰富&#xff0c;健壮和移动友好的应用程序。 本质上&#xff0c;这需要改变应用程序体系结构&#xff0c;其中整个应用程序用户界面是使用JavaScript来实现的&#xff0c;而服务器端代码则为服务器端应用程序逻…

Centos7中安装多版本dotnet core sdk

新开发的项目使用了新的2.1.3由于sdk不兼容之前的2.0版本&#xff0c;所以需要安装两个版本的sdk&#xff0c;参考链接&#xff1a;https://ken.io/note/centos7-.netcore-multi-version-install&#xff0c;对Linux安装还是理解不够到位&#xff0c;这次就明白点了&#xff0c…

上传文件显示进度条_【技巧 】iOSamp;Windows互传文件?透过「文件」轻松解决~...

苹果家的隔空投送能做到手机、电脑间的无缝衔接&#xff1b;在iOS13的「文件」中加入了局域网的文件共享功能&#xff0c;电脑不需要安装任何软件&#xff0c;实现 iPhone 与 Windows 电脑间文件的共享、传输。注意&#xff1a;本文介绍的是基于局域网&#xff08;同一路由器&a…

HTTP简介

详细URL: http://www.cnblogs.com/ranyonsue/p/5984001.html 主要特点 1、简单快速&#xff1a;客户向服务器请求服务时&#xff0c;只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单&#xff0c;使得H…

在Window上使用Jenkins自动部署和上传快照Java工件

这篇文章将展示如何使用Jenkins Continuous Integration自动执行Java Web应用程序&#xff08;使用MYSQL DB和基于Hibernate ORM在基于REST的Jersey2 Spring环境中开发的学生申请应用程序&#xff09;的部署过程-生成项目&#xff0c;运行单元测试&#xff0c;上传构建的工件到…

10个在线Web设计开发工具介绍

1. 在线文本生成器 BlindTextGenerator&#xff1a;对设计师来说&#xff0c;这是一个简单又好用的文本生成小工具。内含许多种字体&#xff0c;可设置字符的大小&#xff0c;数量&#xff0c;样式&#xff0c;段落的数量及对齐方式等&#xff0c;还可以很方便且精确地调节文本…

获取clientheight为0_用10行python代码获取全国城市交通生活圈

今天在网上冲浪看到一个很花哨的数据&#xff0c;全国各城市主要商圈从早上6点到晚上10点的20min&#xff0c;30min,45min,60min,90min生活圈轮廓。1 获取思路按下F12按下F12&#xff0c;点击淮海路可以看到出现一个网站&#xff0c;他就是我们要找的接口接口内容是通过get请求…

promise将ajax变为同步,ES6-Promise改造异步请求为同步

1.扩展&#xff1a;ajax1.1 代码如下$.ajax({url:地址,type:get/post,data:{},dataType:json/jsonp,success:function(res){//请求成功&#xff0c;接收返回值}})1.2 概念ajax不能跨域请求两个网址&#xff1a;协议 主域号 端口号 完全相同时&#xff0c;这时两个网址完全相同&…

PostgreSQL分页

转自 https://blog.csdn.net/tomcat_2014/article/details/49947711 如果用过mysql,那么对 select * from xxx limit x,y;这样的语法会很熟悉。 不过pg是不支持这样的语法的&#xff0c;但支持 select * from xxx limit pagesize offset offsetNum ; 一般情况下&#xff1a; pa…

12个便于web设计及开发的在线工具

请不要低估这些小工具&#xff0c;他们极其的方便并且能节省很多的时间和工作&#xff0c;下面就是这些在线工具的列表&#xff0c;挑几款来试试吧。 我还是比较喜欢Ajax Load和Web 20 Badges Generator的&#xff0c;你们呢&#xff1f; Favico 一个图标制作工具&#xff0c…

服务器改家用系统吗,服务器主机改家用

服务器主机改家用 内容精选换一换本节操作介绍购买云耀云服务器的操作步骤。购买时&#xff0c;为减少您配置参数的时间&#xff0c;部分参数由系统自动分配&#xff0c;以下参数配置供你了解系统的默认配置。购买云耀云服务器仅支持“包年/包月”的计费方式&#xff0c;请您在…

指定module_一个缺失已久的特性 — module模块

在ES6之前&#xff0c;Javascript还不支持原生的模块化。如果要实现模块化&#xff0c;我们要借助一些框架&#xff0c;比如&#xff1a;requireJS或者seaJS等&#xff1b;什么&#xff1f;没用过也没听过这些框架&#xff1f;没关系&#xff0c;它们不是我们今天要讲的重点。今…