2
없이 의존의 드롭을 개발 드롭 다운의 PC 및 노트북 옵션).어떻게 내려 내 컨트롤러에 코드를 다음 한 데이터베이스
사용자가 첫 번째 드롭 다운 (유형)에서 pc 옵션을 선택하면 드롭 다운에 'ASUS PC'및 'DELL PC'가 표시되는 종속 드롭을 개발해야합니다. 내가 어떻게 해.
없이 의존의 드롭을 개발 드롭 다운의 PC 및 노트북 옵션).어떻게 내려 내 컨트롤러에 코드를 다음 한 데이터베이스
사용자가 첫 번째 드롭 다운 (유형)에서 pc 옵션을 선택하면 드롭 다운에 'ASUS PC'및 'DELL PC'가 표시되는 종속 드롭을 개발해야합니다. 내가 어떻게 해.
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
에서이 작업에 액세스 할 수있는 권한을 설정해야합니다