ajax三级联动

不得不说的trim(),我的机器写出来的文件接收data时一定要去除空格…没有去写有参数的方法,因为找错就费了大量的时间,所以相对别人而言trim()于我可能真真的就此记住了

html代码

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>//加载jquery包
<script src="sanji.js"></script>//加载js文件,jquery记得放在最前面就行
</head>

<body>
<div id="sanji"></div>
</body>

</html>

jquery代码

// JavaScript Document
$(document).ready(function(e) {
    $("#sanji").html("<select id=‘sheng‘></select> <select id=‘shi‘></select> <select id=‘qu‘></select>");//三个下拉
    //填充内容
    //1.填充省
    FillSheng();//调用三个方法
    FillShi();
    FillQu();
    $("#sheng").change(function(){  //调用jquery自有的change方法,省份改变时相应的市、区也发生改变
        //改变市,重新填充市
        FillShi();
        //改变区,重新填充区
        FillQu();

        })
    //如果市选中变化的时候就去填充区
    $("#shi").change(function(){//依旧是调用change方法,市改变时相应的区也会发生改变

        //改变区,重新填充区
        FillQu();

        })

    function FillSheng()//省的方法
    {
        var pcode="0001";//默认0001
        //调用ajax
        $.ajax({
            async:false,//同步
            url:"chuli.php",//从哪个页面获取data
            data:{pcode:pcode},
            type:"POST",//post传值
            dataType:"TEXT",
            success: function(data){
                var str="";
                var hang=data.trim().split("|");  //去除空格,将接收的data用字符"|"拆分
                for(var i=0;i<hang.length;i++)
                {
                    var lie=hang[i].split("^");//将行里面每一个数据用"^"隔开
                    str+="<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";//下拉显示的内容
                }

                $("#sheng").html(str);   //将写好的str给html页面
                }        

            })
    }
     市、区的function同省一样,只是有个别地方需要更改
    function FillShi()
    { var pcode=$("#sheng").val();//获取省的value值

        $.ajax({
            async:false,
            url:"chuli.php",
            data:{pcode:pcode},
            type:"POST",
            dataType:"TEXT",
            success: function(data){

                var str="";
                var hang=data.trim().split("|");
                for(var i=0;i<hang.length;i++)
                {
                    var lie=hang[i].split("^");
                    str+="<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
                }

                $("#shi").html(str);

                }        

            })
    }

    function FillQu()
    { var pcode=$("#shi").val();//获取市的value值
        $.ajax({
            async:false,
            url:"chuli.php",
            data:{pcode:pcode},
            type:"POST",
            dataType:"TEXT",
            success: function(data){

                var str="";
                var hang=data.trim().split("|");
                for(var i=0;i<hang.length;i++)
                {
                    var lie=hang[i].split("^");
                    str+="<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
                }

                $("#qu").html(str);

                }        

            })    

    }

});    

php代码

<?php
$pcode=$_POST["pcode"];//post获取pcode值
include("ChaXun.class.php");
$db=new ChaXun();
$sql="select AreaCode,AreaName,ParentAreaCode from Chinastates where ParentAreaCode=‘{$pcode}‘";
echo $db->StrQuery($sql);

//$attr=$db->Query($sql);
//var_dump ($attr);
//$str="";
//foreach($attr as $v)
//{
//    $str=$str.implode("^",$v);
//    $str=$str."|";
//}
//$str=substr($str,0,strlen($str)-1);
//echo $str;
时间: 2024-08-05 09:14:25

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.当选择二级

AJAX 三级联动

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