多级联动

视图

<?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层
<?php

namespace 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值