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) {
} 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
