//三级联动

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

//视图

<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. gradle环境配置、

    话不多说,直接上流程. 1.下载 gradle.zip文件,我以为已经为大家准备好了各个版本的下载地址. 链接: http://pan.baidu.com/s/1hqjIVlE 密码: 8ccb 本人 ...

  2. C#中IQueryable和IEnumberable的区别

    IQueryable和IEnumberable的区别主要在查询方面有区别 IQueryable查询时间是先把skip和Take翻译成sql语句,去数据库执行完成后把数据加载到内存中 IEnumbera ...

  3. Unity3d之个性化鼠标

    代码实例: using UnityEngine; using System.Collections; public class CursorController : MonoBehaviour { / ...

  4. SoapUI中如何获取当前active环境

    // Get the current selected Environment def activeEnv = testRunner.testCase.testSuite.project.getAct ...

  5. JDK8+Dubbo2.5.2实践

    几年前就听说过Dubbo的大名,今天由于工作需要,研究一下. 从网上找了一篇文章,非常靠谱,并且提供了简单的示例代码,基本上可以跑起来. 文章地址: http://www.cnblogs.com/Ja ...

  6. Fiddler-2 Fiddler抓包原理

    1 fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果. 截一张官网的图: 2 启动fiddler之前,[dinghanhua]先来看一下代理服务器 ...

  7. table-responsive响应式表格,HTML表格自适应,bootstrap2表格自适应

    引用bootstrap3 的方法 @media (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; o ...

  8. META元素使用的简单学习

    meta标签是我们学习html时容易忽略的标签,其实它的作用很大,下面就一些网上关于meta标签的讲解内容做一个简单的归纳. META标签共有两个属性,它们分别是Http-equiv属性和Name属性 ...

  9. UE4 通过HTTP 接受JPG并动态 构建 UTexture2D 简单例子

    s void UChildBaseUserWidget::setTextureFromLoadImg(FHttpRequestPtr _request, FHttpResponsePtr _respo ...

  10. centos7下安装nodejs

    http://www.runoob.com/nodejs/nodejs-install-setup.html这个教程中注明 注意:Linux上安装Node.js需要安装Python 2.6 或 2.7 ...