2016-12-26 3 views

답변

0

1)보기 페이지에 두 개의 드롭 다운 필드를 추가하십시오.

<?php echo $form->dropDownList($model, 'type',array('PC'=>'PC','Laptop'=>'Laptops'), 
array(
    'empty'=>'--Select Product Type---' , 
    'ajax' => array(
    'type'=>'POST', //request type 
    'url'=>CController::createUrl('yourcontroller/getData'), //url to call. 
    'data'=>array('type'=>'js:this.value'),// value to send 
    'update'=>'#dependent_value', //selector to update 

))); ?> 

//empty since it will be filled by the other dropdown 
<div class="row"> 
     <?php echo CHtml::dropDownList('dependent_value','', array()); ?> 


    </div> 

컨트롤러

public function actionGetData() { 
     $data = array('type' => array('PC', 'Laptop'), 'brand' => array('1' => array('ASUS PC', 'DELL PC'), '2' => array('ASUS laptop', 'DELL laptop'))); 
     //echo "<pre>";print_r($_POST['type']);die; 
     if ($_POST['type'] == 'PC') { 

      $arr = $data['brand'][1]; 
     } elseif ($_POST['type'] == 'Laptop') { 

      $arr = $data['brand'][2]; 
     } else { 
      $arr = array(); 
     } 
     echo CHtml::tag('option', array('value' => $value), CHtml::encode("Select Product Brand--"), true); 
     foreach ($arr as $value => $name) { 
      echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); 
     } 
    } 

참고 : 확인 accessRules

에서이 작업에 액세스 할 수있는 권한을 설정해야합니다