首頁 >php教程 >PHP开发 >Yii實現的多級聯下拉式選單

Yii實現的多級聯下拉式選單

高洛峰
高洛峰原創
2016-12-30 16:30:292027瀏覽

本文實例講述了Yii實現的多級聯動下拉式選單。分享給大家參考,如下:

1. 視圖檔案

<?php echo CHtml::activeDropDownList($model,&#39;zmg_id&#39;,MemGroup::model()->getMemGroup(),array(
    &#39;class&#39;=>&#39;s_ipt w_120&#39;,
    &#39;empty&#39;=>&#39;请选择会员组&#39;,
    &#39;ajax&#39; =>array(
          &#39;type&#39;=>&#39;GET&#39;,
          &#39;url&#39;=>CController::createUrl(&#39;cmpTemplates/getMemType&#39;),
          &#39;update&#39;=>&#39;#CmpTemplates_zmg_ids&#39;,
          &#39;data&#39;=>array(&#39;mid&#39;=>"js:this.value")
          ),
    ))?>
<?php echo $form->dropDownList($model,&#39;zmg_ids&#39;,array(),array(&#39;class&#39;=>&#39;s_ipt w_120&#39;,&#39;empty&#39;=>&#39;选择会员等级&#39;))?>

   

2. 控制器

/**
 * 获取会员组,对应的会员等级,用于下拉菜单
 */
public function actionGetMemType($mid=0)
{
  $criteria=new CDbCriteria;
  $criteria->compare(&#39;zmg_id&#39;,$mid);
  $memType = MemType::model()->findAll($criteria);
  $name = &#39;选择会员等级&#39;;
  echo CHtml::tag(&#39;option&#39;, array(&#39;value&#39;=>0), $name, true);
  foreach($memType as $val) {
    echo CHtml::tag(&#39;option&#39;, array(&#39;value&#39;=>$val->zmt_id),CHtml::encode($val->zmt_title),true);
  }
}

   

2. 控制器

/*
* 取会员组信息
*/
public function getMemGroup($type=null){
  if($type==null){
    $criteria=new CDbCriteria;
    $criteria->compare(&#39;type&#39;,&#39;1&#39;);
    $memGroup = MemGroup::model()->findAll($criteria);
    return CHtml::listData($memGroup,&#39;zmg_id&#39;,&#39;zmg_title&#39;);
  }else{
    $level = $this->getMemGroup();
    if(array_key_exists($type,$level)){
      return $level[$type];
    }
  }
}

   🜎

希望本文所述對大家基於Yii框架的PHP程式設計有所幫助。

更多Yii實現的多級聯動下拉選單相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn