Hi,
i want a dependent dropdown list.
my table is : course , Subject ,subject type
now based on course selection i need subjects.
i ve done this upto this…it works successfully…
but my question is that i want to print subject with its type like
Maths-(Theory)
Maths(Practical)
my code is given below:
dependent controller my action looks like :
public function actiongetCoursesubject()
{
$data=array();
$data = Yii::app()->db->createCommand()
->select('subject_master_id, subject_master_name')
->from('subject_master')
->where('subject_master_course_id='.(int) $_REQUEST['EmpAssignSubject']['sub_course_id'].' and academic_term_id ='.(int) $_REQUEST['EmpAssignSubject']['sub_academic_term_id'])
->queryAll();
$data=CHtml::listData($data,'subject_master_id','subject_master_name');
echo "<option value=''>Select Subject</option>";
foreach($data as $value=>$name)
{
echo CHtml::tag('option',
array('value'=>$value),CHtml::encode($name),true);
}
}
in the above i ve set like
foreach($data as $value=>$name)
{
$type = SubjectType::model()->findByPk($name['subject_master_type_id'])->subject_type_name;
echo CHtml::tag('option',
array('value'=>$value),CHtml::encode($name.'('.$type.')'),true);
}
but still it not give me proper…
and in my form.php code is like
<div class="row">
<?php if(!empty($model->sub_course_id)) { ?>
<?php echo $form->labelEx($model,'sub_academic_term_id'); ?>
<?php echo $form->dropDownList($model,'sub_academic_term_id',CHtml::listData(AcademicTerm::model()->findAll('course_id='.$model->sub_course_id),'academic_term_id','academic_term_name'),array(
'prompt'=>'Select Semester',
'ajax' => array(
'type'=>'POST',
'url'=>CController::createUrl('dependent/getCoursesubject'),
'update'=>'#EmpAssignSubject_subject_id', //selector to update
))); ?><span class="status"> </span>
<?php echo $form->error($model,'sub_academic_term_id'); ?>
<?php }
else {
echo $form->labelEx($model,'sub_academic_term_id'); ?>
<?php echo $form->dropDownList($model,'sub_academic_term_id',CHtml::listData(AcademicTerm::model()->findAll(),'academic_term_id','academic_term_name'),array(
'prompt'=>'Select Semester',
'ajax' => array(
'type'=>'POST',
'url'=>CController::createUrl('dependent/getCoursesubject'),
'update'=>'#EmpAssignSubject_subject_id', //selector to update
))); ?><span class="status"> </span>
<?php echo $form->error($model,'academic_term_id');
}
?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'subject_id'); ?>
<?php echo $form->dropDownList($model,'subject_id', array(), array('prompt'=>'Select Subject')); ?><span class="status"> </span>
<?php echo $form->error($model,'subject_id'); ?>
</div>
thanks