无刷新省级三级联动(ajax)

本文介绍了一个基于ASP.NET和jQuery实现的省市县三级联动下拉选择器案例,该选择器通过AJAX技术实现了无刷新加载数据,并利用WebService作为后台接口获取数据库中的省市县数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前台代码

<%@ Page Language="C#" AutoEventWireup="true"  CodeBehind="无刷新省市县三联动.aspx.cs" Inherits="无刷新省市三联动.无刷新省市县三联动" %>


< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head runat="server">
    <title></title>
    <script src="js/Jquery1.7.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $.ajax({
                type: "post",
                contentType: "application/json",
                url: "Web省市县.asmx/Getsheng",
                data: "{}",
                success: function (result) {
                    var stroption = null;
                    for (var i = 1; i <= result.d.length; i++) {
                        stroption = '<option value=' + result.d[i][0] + '>';
                        stroption += result.d[i][1];
                        stroption += '</option>';
                        $('#ddlsheng').append(stroption);
                    }
                },
                error: function () {
                    alert('加载失败');
                }
            });
            $('#ddlsheng').change(function () {
                //alert($(this).val());
                $('#ddlshi option:gt(0)').remove();
                $.ajax({
                    type: 'post',
                    contentType: 'application/json',
                    url: 'Web省市县.asmx/Getshi',
                    data: "{provinceid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var strshi = null;
                        for (var i = 1; i <= result.d.length; i++) {
                            strshi = '<option value=' + result.d[i][0] + '>';
                            strshi += result.d[i][1];
                            strshi += '</option>';
                            $('#ddlshi').append(strshi);
                        }
                    },
                    error: function () { alert('加载失败') }
                })
            });


            $('#ddlshi').change(function () {
                $('#ddlxian option:gt(0)').remove();
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "Web省市县.asmx/Getxian",
                    data: "{cityid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var strxian = null;
                        for (var i = 0; i < result.d.length; i++) {
                            strxian = '<option value=' + result.d[i][0] + '>';
                            strxian += result.d[i][1];
                            strxian += '</option>';
                            $('#ddlxian').append(strxian);
                        }
                    },
                    error: function () { alert('加载失败') }
                })
            })
        })


    </script>
< /head>
< body>
    <form id="form1" runat="server">
    <div>
        省:<select id="ddlsheng"><option>----请选择----</option></select>
        市:<select id="ddlshi"><option>--请选择--</option></select>
        县:<select id="ddlxian"><option>--请选择--</option></select>
    </div>
   
    </form>
< /body>
< /html>

WebService页面代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;


namespace 无刷新省市三联动
{
    /// <summary>
    /// Web省市县 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    [System.Web.Script.Services.ScriptService]
    public class Web省市县 : System.Web.Services.WebService
    {


        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
        [WebMethod]
        //加载省
        public List<string[]> Getsheng()
        {
            List<string[]> list = new List<string[]>();
            string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            SqlConnection conn = new SqlConnection(constr);
            SqlCommand cmd =conn.CreateCommand();
            conn.Open();
            cmd.CommandText = "Pro_province";
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            cmd.Dispose();
            conn.Dispose();
            foreach (DataRow item in dt.Rows)
            {
                string[] arraysheng = new string[2];
                arraysheng[0] = item[1].ToString();
                arraysheng[1] = item[2].ToString();
                list.Add(arraysheng);
            }
            return list;
        }
        //加载市
        [WebMethod]
        public List<string[]> Getshi(string provinceid)
        {
            //string provinceid = "";
            List<string[]> list = new List<string[]>();
            string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            SqlConnection conn = new SqlConnection(constr);
            SqlCommand cmd = conn.CreateCommand();
            conn.Open();
            cmd.CommandText = "Pro_city";
           
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@fatherid", provinceid);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            cmd.Dispose();
            conn.Dispose();
            foreach (DataRow item in dt.Rows)
            {
                string[] arrayshi = new string[2];
                arrayshi[0] = item[0].ToString();
                arrayshi[1] = item[1].ToString();
                list.Add(arrayshi);
            }
            return list;
        }
        //加载县
        [WebMethod]
        public List<string[]> Getxian(string cityid)
        {
            List<string[]> list = new List<string[]>();
            string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            SqlConnection conn = new SqlConnection(constr);
            SqlCommand cmd = conn.CreateCommand();
            conn.Open();
            cmd.CommandText = "pro_area";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@cityid", cityid);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            cmd.Dispose();
            conn.Dispose();
            foreach (DataRow item in dt.Rows)
            {
                string[] arrayxian = new string[2];
                arrayxian[0] = item[0].ToString();
                arrayxian[1] = item[1].ToString();
                list.Add(arrayxian);
            }
            return list;
        }
    }
}

数据库存储过程代码

create proc Pro_province//建立省的存储过程
as
select * from province
go
exec Pro_province//执行存储过程

drop proc Pro_area//删除存储过程


create proc pro_city //建立市的存储过程
@fatherid varchar(10)
as
select cityID,city from city where father=@fatherid;
GO

create proc pro_area  //建立县的存储过程
@cityid varchar(10)
as
select areaID,area from area where father=@cityid;
GO

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值