多级联动

来源:互联网 发布:js拉勾效果 编辑:程序博客网 时间:2024/04/28 20:24

视图

<?php?><center>    <table class="table">        <tr>            <td> 国家&nbsp;<select name="region" >                    <option value="0">=请选择=</option>                    <?php foreach($region_list as $key=>$val){?>                        <option value="<?=$val['region_id']?>">                            <?=$val['region_name']?>                        </option>                    <?php }?>                </select>            </td>        </tr>    </table></center><?php$js = <<<END    //定义加载函数                //input对象委托给document对象        $(document).on("change",":input[name='region']",function(){//给动态的内容父级对象绑定change事件            //select一个内容改变事件//        $(":input[name='region']").change(function(){            //获取region_id            var region_id=$(this).val();            //当前对向,追加时用            // alert(region_id);            //清除一级后所有的无数据的重复追加            $(this).nextAll().remove();                //将下拉框里的请选择的value值设为0,防止点击请选择的时候继续追加                if(region_id==0){                    return false;                }            //ajax请求                //请求地址                var url="?r=djld/get";            $.getJSON(url,{'region_id':region_id},function(msg){                  if(msg.length>0){//避免二级后面继续追加                      var str='<select  name="region">\                              <option value="0" >...请选择...</option>';                      $.each( msg, function(k,v){                          str+="<option value="+ v.region_id+" >"+ v.region_name+"</option>";                      });                      str+="</select>";                  }                $(this).after(str);            }.bind(this))        })END;$this->registerJs($js);//C层
<?phpnamespace backend\controllers;use Yii;use yii\web\Controller;/** * 多级联动控制器 */class DjldController extends Controller{    public function actionIndex(){      //获取父级数据        $region_list=yii::$app->db->createCommand("select * from region where parent_id='0'")->queryAll();             //print_r($region_list);        return $this->render('index',['region_list'=>$region_list]);    }    //获取json数据    public function actionGet(){        $region_id=yii::$app->request->get('region_id');        $region_list=yii::$app->db->createCommand("select * from region where parent_id=:region_id", [':region_id' => $region_id])->queryAll();        //print_r($region_list);            exit(json_encode($region_list));    }}?>


 

0 0
原创粉丝点击