2017-6-6 Ajax版页面无刷新三级联动

实现效果:

页面代码:

<div>
        <select id="sel1" style="width:100px;">

        </select>
        <select id="sel2" style="width:100px;">

        </select>
        <select id="sel3" style="width:100px;">

        </select>
    </div>

Js代码:

 change(1);

    function change(a)
    {

        if (a == "1")
        {
            $.ajax({
                url: "select.ashx",
                data: { "code": "0001" },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#sel1").html("");
                    for (i in msg)
                    {

                        var str = "<option value=‘" + msg[i].code + "‘>" + msg[i].name + "</option>";
                        $("#sel1").append(str);
                    }
                    change(2);
                },
                error:function()
                {
                    alert("aaa");
                },
                beforeSend: function () {
                    $("#sel1").html("");
                    var str = "<option value=‘null‘>数据正在加载...</option>";
                    $("#sel1").append(str);
                }

            });
        }
        if (a == "2") {
            $.ajax({
                url: "select.ashx",
                data: { "code": $("#sel1").val() },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#sel2").html("");
                    for (i in msg) {

                        var str = "<option value=‘" + msg[i].code + "‘>" + msg[i].name + "</option>";
                        $("#sel2").append(str);
                    }
                    change(3);
                },
                //如果弹窗跳出,代表服务端路径错误,服务端出错,服务端没有返回指定的json数据格式
                error: function () {
                    alert("aaa");
                },
                //请求服务端的时候执行(不管对错)一开始加载数据就会执行
                beforeSend: function () {
                    $("#sel2").html("");
                    var str = "<option value=‘null‘>数据正在加载...</option>";
                    $("#sel2").append(str);
                },
                //处理完毕之后,不管返回到sussess还是error中   数据加载完毕执行
                complete:function(){

                }

            });

        }
        if (a == "3") {
            $.ajax({
                url: "select.ashx",
                data: { "code": $("#sel2").val() },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#sel3").html("");
                    for (i in msg) {

                        var str = "<option value=‘" + msg[i].code + "‘>" + msg[i].name + "</option>";
                        $("#sel3").append(str);
                    }
                },
                error: function () {

                },
                beforeSend: function () {
                    $("#sel3").html("");
                    var str = "<option value=‘null‘>数据正在加载...</option>";
                    $("#sel3").append(str);
                }

            });
        }

    }

    $("#sel1").change(function () {
        change(2);
    });

    $("#sel2").change(function () {
        change(3);
    });

三级联动Js代码

一般处理程序代码:

using (cityDataClassesDataContext con = new cityDataClassesDataContext())
        {
            StringBuilder str = new StringBuilder();
            str.Append("[");
            string aa = context.Request["code"];
            int count = 0;
            List<ChinaStates> clist = con.ChinaStates.Where(r=>r.ParentAreaCode == aa).ToList();
            foreach(ChinaStates ch in clist )
            {
                if (count > 0) { str.Append(","); }
                str.Append( "{\"name\":\""+ch.AreaName+"\",\"code\":\""+ch.AreaCode+"\"}");
                count++;
            }

            str.Append("]");

            context.Response.Write(str);
            context.Response.End();
        }
时间: 2024-12-05 00:21:26

2017-6-6 Ajax版页面无刷新三级联动的相关文章

js界面刷新&Django使用Ajax实现页面无刷新评论回复功能

Django使用Ajax实现页面无刷新评论回复功能 http://www.cnblogs.com/mfc-itblog/p/5188900.html js界面刷新 http://www.cnblogs.com/dingdingo/archive/2011/10/26/2225307.html js界面刷新&Django使用Ajax实现页面无刷新评论回复功能

Django使用Ajax实现页面无刷新评论回复功能

虽然Django本身自带Form可以提交表单,但在Django中结合Jquery使用Ajax,可以让Django开发的应用发挥更好的用户体验,同时可以降低服务器的负担.普通提交表单方式需要刷新整个页面才可以将评论显示出来,而使用Ajax提交评论之后,可以在页面无刷新的情况下显示出来. 首先是model: class Replay(models.Model): content = models.TextField() post = models.ForeignKey(Post) replay_ti

HTTP与AJAX深入揭秘,不使用AJAX实现页面无刷新

AJAX的原理是什么? 实际上就是发起HTTP请求,既然就是发起HTTP请求,那只要我们能够实现发起HTTP请求就可以在不使用AJAX的情况下实现相同的效果. 在前端有好多方式可以发起HTTP请求,比如script标签的src以及图片的src,css背景图片,等等. 案例1:通过HTTP状态码204实现页面无刷新 下面来一个小案例,实现一个页面无刷新的投票功能. html: <div id="box"> <h1>周杰伦</h1> <p>0

Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动

看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2写的.http://blog.csdn.net/luckey_zh/article/details/22995389 以代码来说话吧. 首先是index1.jsp页面 [html] view plaincopy <%@ page language="java" import=&quo

基于jQuery的ajax系列之用FormData实现页面无刷新上传

接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的FormData接口.关于FormData,大家可以看MDN文档. 1,先看效果图 期望的功能和效果很简单:点击页面中的上传文件表单控件,选择文件后点击"ajax提交",将文件上传至服务器,上传成功后,页面给出一个简单的提示. 2,前端的代

学习aiax(javascript)--页面无刷新用ajax检查用户名是否已注册(POST方式)

1.jsp代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

学习aiax(javascript)--页面无刷新更新ajax更新时间

1.JSP代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

Asp.net页面无刷新请求实现

Asp.net页面无刷新请求实现 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="omAjaxSubmit.aspx.cs" Inherits="OMDemo.demo.omAjaxSubmit" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q

JQuery 实现页面无刷新

对于JQuery实现页面无刷新的效果,即:应用这个JQuery这个组件,可以实现在页面上加载数据库中的数据信息,但是并没有给用户页面刷新的感觉,这样既可以有效的进行数据交互,也可以不妨碍用户的其他操作.(http://itred.cnblogs.com    itRed: [email protected]) 在用JQuery实现页面无刷新的效果之前,我们需要掌握和了解一些基础知识,以方便我们在进行代码编写时更加的得心应手. 一.异步技术 浏览器预设是使用同步的方式发出请求并等待回应,为了处理浏