この記事では主に、ビュー、モデル、コントローラーの関連実装コードを含む、Yii によって実装されたマルチレベルリンケージのドロップダウンメニューを紹介し、Yii に基づくデータベースクエリ、配列トラバーサル、データ表示などの関連操作スキルも含みます。必要な友達 以下の例を参照してください。
この記事では、Yii によって実装されたマルチレベルのリンケージ ドロップダウン メニューについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1. ファイルを表示
<?php echo CHtml::activeDropDownList($model,'zmg_id',MemGroup::model()->getMemGroup(),array( 'class'=>'s_ipt w_120', 'empty'=>'请选择会员组', 'ajax' =>array( 'type'=>'GET', 'url'=>CController::createUrl('cmpTemplates/getMemType'), 'update'=>'#CmpTemplates_zmg_ids', 'data'=>array('mid'=>"js:this.value") ), ))?> <?php echo $form->dropDownList($model,'zmg_ids',array(),array('class'=>'s_ipt w_120','empty'=>'选择会员等级'))?>
# #2. コントローラー
#/** * 获取会员组,对应的会员等级,用于下拉菜单 */ public function actionGetMemType($mid=0) { $criteria=new CDbCriteria; $criteria->compare('zmg_id',$mid); $memType = MemType::model()->findAll($criteria); $name = '选择会员等级'; echo CHtml::tag('option', array('value'=>0), $name, true); foreach($memType as $val) { echo CHtml::tag('option', array('value'=>$val->zmt_id),CHtml::encode($val->zmt_title),true); } }
#3. モデル
# 以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。 関連する推奨事項: 方法訪問者とユーザーに対する Yii2 の防止ルールと制限を解決する 以上がYii が実装するマルチレベル連携ドロップダウンメニューについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。/*
* 取会员组信息
*/
public function getMemGroup($type=null){
if($type==null){
$criteria=new CDbCriteria;
$criteria->compare('type','1');
$memGroup = MemGroup::model()->findAll($criteria);
return CHtml::listData($memGroup,'zmg_id','zmg_title');
}else{
$level = $this->getMemGroup();
if(array_key_exists($type,$level)){
return $level[$type];
}
}
}