yii2中dropDownList实现二级和三级联动写法
整理文档,搜刮出一个yii2中dropDownList实现二级和三级联动写法的代码,稍微整理精简一下做下分享。 视图页面: ['index'],'method' => 'get',]); ?>
= $form->field($model,'cocate_id')->dropDownList(Helper::courseCateMap(),['prompt' => yii::t('backend','Please select course cate')]) ?>
= $form->field($model,'course_id')->dropDownList(Helper::courseMap($model->cocate_id),'Please select first course cate')])?>
= $form->field($model,'person_id')->dropDownList(Helper::personMap(1,$model->cocate_id),'Please select person')]) ?>
<?php ActiveForm::end(); ?> function getCourse(cocateId){ function getPerson(cocateId){ '; php代码: 这个是ajax自己声明的控制器: namespace backendcontrollers;
class AjaxController extends BaseController { public function actionOption($cocateId,$type) { switch ($type) { case 'course': $_data = Helper::courseMap($cocateId); break; case 'person': $_data = Helper::personMap(1,$cocateId); break; case 'class': $_data = Helper::classMap($cocateId); break; } $_tmp = ''; foreach ($_data as $key => $val) { $_tmp .= ""; } echo $_tmp; } Helper.php 封装好的类文件 可以单独建立文件 在配置中引用 : select('cocate_id,cocate_name')->all();
$_data = ArrayHelper::map(array_merge($_data),'cocate_id','cocate_name');
return $_data;
}
//声明查询的方法 二级
public static function courseMap($cocateId)
{
$condition['cocate_id'] = $cocateId;
$_data = Course::find()->select('course_id,course_name')->where($condition)->all();
$_data = ArrayHelper::map(array_merge($_data),'course_id','course_name');
return $_data;
}
//声明查询的方法 三级
public static function personMap($percateId,$cocateId = 0)
{
} 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |