如何在 yii2 中创建依赖下拉菜单 [英] How to create dependent dropdown in yii2

查看:22
本文介绍了如何在 yii2 中创建依赖下拉菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 backend/views/_form.php

上使用此代码

 <?php $CoursesCat = ArrayHelper::map(CoursesCat::find()->all(),'id', 'cat_name');$CoursesSubcat = ArrayHelper::map(CoursesSubcat::find()->all(),'id', 'name');$form = ActiveForm::begin();?><?phpecho $form->field($model, 'cat_id')->dropDownList($CoursesCat,['提示'=>'-选择一个类别-','onchange'=>'$.post( "'.urldecode(Yii::$app->urlManager->createUrl('coursedetail/lists&id=')).'"+$(this).val(), function( data ){$( "select#subcat_id" ).html( 数据 );});']);echo $form->field($model, 'subcat_id')->dropDownList( $CoursesSubcat['提示'=>'-选择一个子类别-'],['id'=>'subcat_id']);?>

解决方案

public function actionLists($id){echo $sql = "select * from course_subcat where cat_id='$id' ";$models = CoursesSubcat::findBySql($sql)->asArray()->all();//echo "

";print_r($model);exit;if(sizeof($models) > 0){echo "<option>-选择一个子类别-</option>";foreach($models 作为 $model){echo "<option value='".$model['id']."'>".$model['name']."</option>";}}别的{echo "<option>-选择一个子类别-</option><option></option>";}}

I use this code on backend/views/_form.php

 <?php $CoursesCat = ArrayHelper::map(CoursesCat::find()->all(),'id', 'cat_name');
$CoursesSubcat = ArrayHelper::map(CoursesSubcat::find()->all(),'id', 'name');
 $form = ActiveForm::begin(); ?>

<?php
echo $form->field($model, 'cat_id')->dropDownList($CoursesCat, 
         ['prompt'=>'-Choose a Category-',
          'onchange'=>'
            $.post( "'.urldecode(Yii::$app->urlManager->createUrl('coursedetail/lists&id=')).'"+$(this).val(), function( data ) {
              $( "select#subcat_id" ).html( data );
            });
        ']); 


echo $form->field($model, 'subcat_id')
    ->dropDownList(  $CoursesSubcat          
        ['prompt'=>'-Choose a Sub Category-'],
        ['id'=>'subcat_id']
    ); ?>

解决方案

public function actionLists($id)
{
   echo $sql = "select * from courses_subcat  where cat_id='$id' ";
    $models = CoursesSubcat::findBySql($sql)->asArray()->all();   
    //echo "<pre>";print_r($model);exit;

    if(sizeof($models) >0){
        echo "<option>-Choose a Sub Category-</option>";
        foreach($models as $model){
            echo "<option value='".$model['id']."'>".$model['name']."</option>";
        }
    }
    else{
        echo "<option>-Choose a Sub Category-</option><option></option>";
    }

}

这篇关于如何在 yii2 中创建依赖下拉菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆