//三级联动

//数据库代码过多就不上传了

//视图

<div class="area">
    <table class="table">
        <select name="region[]" id="">
            <option value="0">请选择</option>
        <?php foreach ($regiondata as $value):?>
                <option value="<?php echo $value['region_id'];?>"><?php echo $value['region_name'];?></option>
        <?php endforeach ?>
        </select>
    </table>
</div>

//jquery

<script>

//委托事件
    $(document).on('change',":input[name='region[]']",function(){
        var region_id=$(this).val();
        console.log(region_id);

   //注意:此时的_this是为了下面时使用
        var _this=$(this);
        var url="?r=test/nextregion";
        $.getJSON(url,{'region_id':region_id},function(msg){
            // alert(msg);
            if(msg.length>0&&region_id!=0){
                var str="<select name='region[]'><option value=''>请选择</option>";

      //利用each循环拼接json数据
                $(msg).each(function(k,v){
                    str+="<option value="+v.region_id+">"+v.region_name+"</option>";
                })
                str+="</select>";
            }
    //
            _this.nextAll().remove();
            _this.after(str);
        });
    });

</script>

//控制器页面

public function actionAreacon(){
         $regiondata= (new \yii\db\Query())
            ->select('region_id,region_name')
            ->from('region')
            ->where('parent_id=0')
            ->all();
         return $this->render('areacon',[
                'regiondata'=>$regiondata,
         ]);
    }

//处理三级联动

//控制器对于get数据的处理和返回值(我的是利用YII框架,查询方式不同而已)

//查询下级地区
    public function actionNextregion(){
        $request=YII::$app->request;

   //接收传过来的region_id(地区id)作为(地区父级)条件查询
        $region_id=$request->get('region_id');
        $regiondata= (new \yii\db\Query())
            ->select('region_id,region_name')
            ->from('region')
            ->where('parent_id=:region_id',[':region_id'=>$region_id])
            ->all();
        echo json_encode($regiondata);die;
    }

三级联动(在YII框架中)的更多相关文章

  1. Yii 框架中安装 memcache 及配置和测试

    安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...

  2. Yii框架中集成phprpc、hprose

    在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据 ...

  3. 使用Yii框架中遇到的三个问题

    以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应 ...

  4. yii框架中关于控制器中filter过滤器和外部action的使用

    在yii框架中,控制器的过滤器分为执行前和执行后,这里举例是在执行控制器前的过滤. 需要在components/文件夹下定义公共的TestAction.php文件,并且实现run()方法.这个acti ...

  5. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...

  6. YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

    YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CMo ...

  7. Yii框架中使用PHPExcel导出Excel文件

    最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config\main.php中添加对PHPExcel的引用,我的方式是这样: 1 2 3 4 ...

  8. YII框架中php入口文件隐藏

    Apache配置修改 主要修改下httpd文件中的两个地方 1.启用mod_rewrite.so模块,在Apache的配置文件中找到如下行,去掉前面的字符"#",保存 #LoadM ...

  9. YII框架中的srbac权限管理模块的安全与使用(版本是1.1.20)

    0x01 前言 srbac的原理: YII框架的srbac模块是一个专门管理权限的一个模块,那它是怎么管理权限的呢.我们知道YII框架的网页显示是由控制器实现的,控制器继承父类CController和 ...

随机推荐

  1. Http的Get/Post请求区别

    1.HTTP请求格式: <request line> <headers> <blank line> [<request-body>] 在HTTP请求中, ...

  2. [Linux-脚本]排序、统计、合并命令

    1.排序命令 - sort: sort可以帮我们进行排序,排序顺序按照LANG(语系环境变量)确定.据观察,sort排序以行为单位进行.排序以第一个不相同的字符决定先后顺序(只与第一个不相同的字符相关 ...

  3. linux下打包工具

    InstallAnyWhere  IzPack  InstallJammer; installshield 也支持rpm打包 Advanced Installer

  4. JDBC代码示例

    package test; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;imp ...

  5. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  6. STM32 HAL固件库编程的文件构架

    对于我这种以前只接触过51和AVR单片机编程的小菜来说,现在开始学习STM32的编程,对于函数的功能以及C语言的语法都还好理解,难的是它提供的那一套硬件抽象层(HAL)驱动是怎么和其他的东东搭配在一起 ...

  7. django进行model字段的自定义

    相信大家一定有web应用被攻击的经历,数据库安全是一个网站的必须课.django有很好的orm,但sql注入,或其他方式的攻击都是无法完全屏蔽的. 所以一般数据库都会对用户数据,如text类型的数据进 ...

  8. 关于android的UI更新机制与误区

    Android系统的消息队列和消息循环都是主线程的,其它后台服务等无法直接更新,必须通过下面的消息队列,由主线程的消息循环去依次执行更新ui: 同时对于费时间超过5秒的事件,比如网络链接等,建议新开线 ...

  9. GnuRadio Hacking②:使用SDR嗅探北欧芯片无线键盘鼠标数据包

    0×00 前言 上半年的时候安全公司Bastille Networks(巴士底狱)安全研究员发现大多数无线鼠标和接收器之间的通信信号是不加密的,黑客可对一两百米范围内存在漏洞的无线键鼠进行嗅探甚至劫持 ...

  10. 预装win8的系统换win7需要做的bios设置

    https://zhidao.baidu.com/question/873669708066476212.html (一)联想G50-70由于预装的是WIN8位系统,哪么改装WIN7 64位的方法如下 ...