AJAX 三级联动

html代码

<select id="str1">
<option>加载中...</option>
</select>
<select id="str2">
<option>加载中...</option>
</select>
<select id="str3">
<option>加载中...</option>
</select>

jquery代码  AJAX

<script type="text/javascript">

    str_load(1);
    str_load(2);
    str_load(3);

    function str_load(aa) {
        if (aa == "1")
        {
            $.ajax({
                url: "select.ashx",
                data: { "code": "0001" },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#str1").empty();
                    for (i in msg)
                    {
                        var ss = "<option value=‘" + msg[i].areacode + "‘>" + msg[i].areaname + "</option>";
                        $("#str1").append(ss);
                    }

                }, error: function () { alert(‘error‘); },
                beforeSend: function () { $("#str1").append("<option>加载中...<option>"); },
                complete: function () { str_load(2); }
            });
        }
        if (aa == "2")
        {
            $.ajax({
                url: "select.ashx",
                data: { "code": $("#str1").val() },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#str2").empty();
                    for (i in msg) {
                        var ss = "<option value=‘" + msg[i].areacode + "‘>" + msg[i].areaname + "</option>";
                        $("#str2").append(ss);
                    }

                }, error: function () { alert(‘error‘); },
                beforeSend: function () { $("#str2").append("<option>加载中...<option>"); },
                complete: function () { str_load(3); }
            });

        }
        if (aa == "3")
        {
            $.ajax({
                url: "select.ashx",
                data: { "code": $("#str2").val() },
                type: "post",
                dataType: "json",
                success: function (msg) {
                    $("#str3").empty();
                    for (i in msg) {
                        var ss = "<option value=‘" + msg[i].areacode + "‘>" + msg[i].areaname + "</option>";
                        $("#str3").append(ss);
                    }
                }, error: function () { alert(‘error‘); },
                beforeSend: function () { $("#str3").append("<option>加载中...<option>"); },
                complete: function () { }
            });

        }

    }

    $("#str1").change(function () { str_load(2); str_load(3); });
    $("#str2").change(function () { str_load(3); })

</script>

一般应用程序代码

<%@ WebHandler Language="C#" Class="select" %>

using System;
using System.Web;
using System.Linq;  //引用linq
using System.Collections.Generic;//引用集合
using System.Text;
public class select : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        string code=context.Request["code"];
        StringBuilder str = new StringBuilder();
        str.Append("[");
        using (chinaDataContext con = new chinaDataContext())
        {
            List<ChinaStates> chlist = con.ChinaStates.Where(r => r.ParentAreaCode == code).ToList();
            int count = 0;
            foreach (ChinaStates ch in chlist)
            {
                if (count > 0) str.Append(",");
               str.Append( "{\"areaname\":\""+ch.AreaName+"\",\"areacode\":\""+ch.AreaCode+"\"}");
                count++;
            }
        }
        str.Append("]");
        context.Response.Write(str);
        context.Response.End();
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

时间: 2024-12-28 04:10:20

AJAX 三级联动的相关文章

ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2在js中用keyup事件来进行操作 3创建ajax格式和内容:格式: $.ajax({ url:"哪一个服务端处理器", data:{"自己起名",所需要传给处理器的数据}, type:"post", dataType:"json"

MVC5+Ajax三级联动

1.在这里我准备三张表给大家写一个关于三级联动(省,市,区) 2.不多说看代码 controlers代码: 1 public class S_ProvinceController : Controller 2 { 3 private readonly IS_ProvinceService _provinceService; 4 private readonly IS_CityService _cityService; 5 private readonly IS_DistrictService _

使用 AJAX + 三级联动 实现分类出全国各地的省,市,区

使用AJAX + 三级联动  实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一样.直接在显示页面引用! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

jquery json ajax三级联动

province_city_area.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <script type="text/javascript"

AJAX 三级联动例题

用ajax三级联动写一个关于省市区下拉列表的联动 数据库中的表: id是这条数据的主键,dname是地区名称,parentid是父级id 页面效果: 先实例化一个district类 package com.hanqi.model; public class District { private String id; private String dname; private String parentid; public District(String id, String dname, Str

ajax三级联动下拉菜单

ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过ajax发出请求传递到服务端的程序中 (2)比如取中国地域,中国是0001,那么自带号为0001的便是中国地域: 北京的代号为11,那么子代号为11的便是北京时的市区, 也就是说根据主代号查询子代号: (3)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端 显示页面非常简单,只需要一

example_ThinkPHP+AJAX三级联动

sanji.html <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <load href ="__PUBLIC__/JQ/jquery-1.12.4.min.js"/> </head> <body> <h1&

第七十二天上课 ajax三级联动插件

js(界面)threeLinkage.js $(document).ready(function() { $('#threeLinkage').html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>"); //向主界面填充三个下拉列表 fill('0001','#sheng'); //填充一级下拉列表

ajax 三级联动商品分类(转载)

转载  自  jines     http://www.cnblogs.com/lijinblogs/p/5759399.html 思路分析:效果:当页面加载时,利用ajax异步向后台请求数据,加载一级商品类别,当选择一级商品时加载二级商品,选择二级商品加载三级商品. 实现:1.当拿到数据后加载pid为0的商品,并动态创建option将商品追加到一级菜单中,并设置value值2.当选择一级商品时加载pid=当前id的商品,并创建option将商品追加到二级菜单中,并设置value值3.当选择二级