zoukankan      html  css  js  c++  java
  • 三级联动(在YII框架中)

    //三级联动

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

    //视图

    <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 yiidbQuery())
                ->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 yiidbQuery())
                ->select('region_id,region_name')
                ->from('region')
                ->where('parent_id=:region_id',[':region_id'=>$region_id])
                ->all();
            echo json_encode($regiondata);die;
        }  

  • 相关阅读:
    【Javascript】javascript学习 三十二 JavaScript 表单验证
    【Javascript】javascript学习 三十四 JavaScript 图像地图
    【Javascript】javascript学习 三十三 JavaScript 动画
    【Javascript】javascript学习 三十六 创建你自己的 JavaScript 对象
    【Javascript】javascript学习 三十七 JavaScript 总结
    【HTML】HTML 教程(系列教程转载)
    【XML】XML概述(连载)
    【Javascript】javascript学习 三十五 JavaScript 计时
    【XML】XML教程
    判断各版本IE的HTML和CSS语句
  • 原文地址:https://www.cnblogs.com/itdi/p/5973657.html
Copyright © 2011-2022 走看看