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>三级联动</h1>
<div id=‘sanji‘>
        <select id = ‘sheng‘></select>
        <select id =‘shi‘></select>
        <select id = ‘xian‘></select>
</div>
</body>
</html>
<script>

$(document).ready(function(e){

sheng();
shi();
xian();

    //省级列表数据
    function sheng(){

        $.ajax({

            url:"__CONTROLLER__/sheng",
            dataType:"json",
            async:false,                        //同步
            success:function(sheng){

                var str =‘‘;

                    for(var i=0;i<sheng.length;i++)
                {
                    str += "<option value = " + sheng[i].pro_id +">"
                            + sheng[i].pro_name + "</option>";
                }

                $("#sheng").html(str);        //填充省级列表
            }
        });
    }

    //市级列表数据
    function shi(){

        var id = $("#sheng").val();

            $.ajax({

                url:"__CONTROLLER__/shi",
                data:{id:id},
                dataType:"json",
                async:false,                    //同步
                type:"post",
                success:function(shi){

                    var str = ‘‘;

                        for(var i=0;i<shi.length;i++)
                    {
                        str += "<option value=" + shi[i].city_id +">"
                                + shi[i].city_name + "</option>";
                    }

                    $("#shi").html(str);        //填充市级列表
                }
            });
    }

    function xian(){

        var id = $("#shi").val();

        $.ajax({

                url:"__CONTROLLER__/xian",
                data:{id:id},
                dataType:"json",
                async:false,                    //同步
                type:"post",
                success:function(xian){

                    var str = ‘‘;

                        for(var i=0;i<xian.length;i++)
                    {
                        str += "<option value=" + xian[i].cou_id +">"
                        + xian[i].cou_name + "</option>";
                    }

                    $("#xian").html(str);        //填充县级列表

                }
        });
    }

    $("#sheng").change(function(){
     
        shi();
        xian();
    });

    $("#shi").change(function(){

        xian();

    });

});

</script>

SanjiController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
class SanjiController extends Controller{

        public function sanji(){

            $this->display();
        }    

        //省级列表
        public function sheng(){

            $pro = M(‘pro‘);

            $sheng = $pro->select();

            $this->ajaxReturn($sheng);

        }

        //市级列表
        public function shi(){

            $id = I(‘id‘);

            $city = M(‘city‘);

            $shi = $city->where(array(‘pro_id‘=>$id))->select();

            $this->ajaxReturn($shi);

        }

        public function xian(){

            $id = I(‘id‘);

            $cou = M(‘cou‘);

            $xian = $cou->where(array(‘city_id‘=>$id))->select();

            $this->ajaxReturn($xian);
        }

}

?>

省级表         市级表  

县级表   

注:表中数据仅作为练习所用,请不要对号入座!

时间: 2024-12-25 11:06:12

example_ThinkPHP+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)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端 显示页面非常简单,只需要一

第七十二天上课 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> <